Maison php教程 php手册 firefox提示:内容编码错误 无法显示您尝试查看的页面

firefox提示:内容编码错误 无法显示您尝试查看的页面

Jun 13, 2016 am 09:57 AM
firefox 内容 客户 essayer toi 提示 整理 显示 vérifier 编码 网站 错误 页面

今天打帮客户整理一个网站时发现在firefox提示:内容编码错误 无法显示您尝试查看的页面,因为它使用了无效或者不支持的压缩格式了,我一看客户是php站,导致原因可能是ob_gzhandler原因,下面我来总结了解决办法。

firefox错误码:

内容编码错误

无法显示您尝试查看的页面,因为它使用了无效或者不支持的压缩格式。

请联系网站的所有者以告知此问题

 
错误原因和解决办法:

1、保证php程序没有任何警告或出错的提示

2、PHP代码ob_start('ob_gzhandler')导致的,导致的原因有两种:
      a、服务器不支持这种压缩格式,可使用function_exists('ob_gzhandler')判断,解决方法 ob_start('ob_gzhandler')改为ob_start();
      b、使用ob_start('ob_gzhandler')时候前面已经有内容输出,检查前面内容以及require include调用文件的内容。若无法找到可以在调用其它文件前使用ob_start(),调用之后使用 ob_end_clean () 来清除输出的内容;

3、set_magic_quotes_runtime()函数:
提示:Function set_magic_quotes_runtime() is deprecated,导致这个提示的原因是在PHP5.3后此特性已经关闭,在PHP6中已经完全移除此特性,也就是这个函数已经不存在了。你可以注释 或者删除掉出错的行,或者是在set_magic_quotes_runtime()前面加@符号。

4、PHP5.30版本,默认不再支 持这样的语法,输出变量需使用php echo $username;?>语法才可以。你可以通过将 php.ini 中的 short_open_tag 设置为 On,以兼容原来的语法。

php关于ob_start('ob_gzhandler')启用GZIP压缩的bug

如果使用ob_start("ob_gzhandler");
则ob_clean()后面的输出将不显示,这是个bug,
可以用ob_end_clean();ob_start("ob_gzhandler"); 代替ob_clean();
否则后面输出内容将是空。
error_reporting(E_ALL);
ob_start("ob_gzhandler");
echo "content";
ob_clean();
echo "more content";
?>
上面的代码期望输出more content实际上什么内容也不会输出。

下面就正常了
error_reporting(E_ALL);
ob_start("ob_gzhandler");
echo "content";
ob_end_clean();
ob_start("ob_gzhandler");
echo "more content";
?>

下面自定义一个回调函数再测试
function my_ob_gzhandler($buffer,$mod){
   header("Content-Encoding: gzip");
   return gzencode($buffer, 9, FORCE_GZIP);
}

error_reporting(E_ALL);
ob_start("my_ob_gzhandler");
echo "content";
ob_clean();
echo "more content";
?>
上面是正常的,但使用ob_end_clean代替ob_clean后又会导致后面的输出不会显示。

因此即使是下面的代码依然会在使用ob_clean或者ob_end_clean后会导致输出为空。
if (ini_get('zlib.output_compression')) {
   if (ini_get('zlib.output_compression_level') != 9) {
      ini_set('zlib.output_compression_level', '9');
   }
   ob_start();
} else {
   if (strstr($_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")) {
      ob_start("ob_gzhandler");
   } else {
      ob_start();
   }
}
?>

最稳定的启用页面压缩的方法应该类似下面
if(extension_loaded('zlib')) {
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', '3');
}
?>

但如果一定要使用ob_gzhandler来启用页面压缩就要注意本文的第一句话了。

事实上,下面的代码只是浏览器不显示
error_reporting(E_ALL);
ob_start("ob_gzhandler");
echo "content";
ob_clean();
echo "more content";

但如果测试一下

telnet localhost 80
GET /test.php HTTP/1.0

将会返回如下信息

HTTP/1.1 200 OK
Date: Fri, 20 Feb 2009 15:40:17 GMT
Server: Apache/2.2.6 (Win32) PHP/5.2.5
X-Powered-By: PHP/5.2.5
Vary: Accept-Encoding
Content-Length: 12
Connection: close
Content-Type: text/html

more content

失去了跟主机的连接。

可以看出more content已经输出

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si Google Chrome indique que le contenu de cet onglet est partagé ? Que dois-je faire si Google Chrome indique que le contenu de cet onglet est partagé ? Mar 13, 2024 pm 05:00 PM

Que dois-je faire si Google Chrome indique que le contenu de cet onglet est partagé ? Lorsque nous utilisons Google Chrome pour ouvrir un nouvel onglet, nous rencontrons parfois une invite indiquant que le contenu de cet onglet est partagé. Alors, que se passe-t-il ? Laissez ce site fournir aux utilisateurs une introduction détaillée au problème de Google Chrome, invitant à partager le contenu de cet onglet. Google Chrome indique que le contenu de cet onglet est en cours de partage. Solution : 1. Ouvrez Google Chrome. Vous pouvez voir trois points dans le coin supérieur droit du navigateur « Personnaliser et contrôler Google Chrome ». l'icône. 2. Après avoir cliqué, la fenêtre de menu de Google Chrome apparaîtra ci-dessous et la souris se déplacera vers « Plus d'outils ».

Impossible de terminer l'opération (Erreur 0x0000771) Erreur d'imprimante Impossible de terminer l'opération (Erreur 0x0000771) Erreur d'imprimante Mar 16, 2024 pm 03:50 PM

Si vous rencontrez un message d'erreur lors de l'utilisation de votre imprimante, tel que l'opération n'a pas pu être terminée (erreur 0x00000771), cela peut être dû au fait que l'imprimante a été déconnectée. Dans ce cas, vous pouvez résoudre le problème grâce aux méthodes suivantes. Dans cet article, nous verrons comment résoudre ce problème sur un PC Windows 11/10. Le message d'erreur complet indique : L'opération n'a pas pu être terminée (erreur 0x0000771). L'imprimante spécifiée a été supprimée. Correction de l'erreur d'imprimante 0x00000771 sur un PC Windows Pour corriger l'erreur d'imprimante, l'opération n'a pas pu être terminée (erreur 0x0000771), l'imprimante spécifiée a été supprimée sur un PC Windows 11/10, suivez cette solution : Redémarrez le spool d'impression

Solution à l'erreur d'invite de mise à jour Windows 0x8024401c Solution à l'erreur d'invite de mise à jour Windows 0x8024401c Jun 08, 2024 pm 12:18 PM

Table des matières Solution 1 Solution 21. Supprimez les fichiers temporaires de Windows Update 2. Réparez les fichiers système endommagés 3. Afficher et modifier les entrées de registre 4. Éteignez la carte réseau IPv6 5. Exécutez l'outil WindowsUpdateTroubleshooter pour réparer 6. Éteignez le pare-feu et autres logiciels antivirus associés. 7. Fermez le service WidowsUpdate. Solution 3 Solution 4 Une erreur « 0x8024401c » se produit lors de la mise à jour de Windows sur les ordinateurs Huawei Symptôme Problème Cause Solution Toujours pas résolu ? Récemment, le serveur Web a dû être mis à jour en raison de vulnérabilités du système. Après la connexion au serveur, la mise à jour affiche le code d'erreur 0x8024401c.

Pourquoi l'application Xiangxiangfuzhai affiche-t-elle une erreur ? Pourquoi l'application Xiangxiangfuzhai affiche-t-elle une erreur ? Mar 19, 2024 am 08:04 AM

L'erreur d'affichage est un problème qui peut survenir dans l'application Xiangxiang Fuzhai. Certains utilisateurs ne savent pas pourquoi l'application Xiangxiang Fuzhai affiche des erreurs. Cela peut être dû à des problèmes de connexion réseau, à un trop grand nombre de programmes en arrière-plan, à des informations d'enregistrement incorrectes, etc. Ceci est l'introduction de l'éditeur sur la façon de résoudre les erreurs d'affichage des applications pour les utilisateurs. Les utilisateurs intéressés devraient venir y jeter un œil ! Pourquoi l'application Xiangxiang Fuzhai affiche-t-elle une réponse d'erreur : problème de connexion réseau, trop de programmes en arrière-plan, informations d'enregistrement incorrectes, etc. Détails : 1. [Problème de réseau] Solution : Vérifiez l'état du réseau de connexion de l'appareil, reconnectez-vous ou choisissez une autre connexion réseau pour utiliser. 2. [Trop de programmes en arrière-plan] Solution : fermez les autres programmes en cours d'exécution et libérez le système, ce qui peut accélérer l'exécution du logiciel. 3. [Informations d'enregistrement incorrectes

Linux Oups : explication détaillée de la signification de cette erreur Linux Oups : explication détaillée de la signification de cette erreur Mar 21, 2024 am 09:06 AM

LinuxOops : explication détaillée de la signification de cette erreur, nécessite des exemples de code spécifiques. Qu'est-ce que LinuxOops ? Dans les systèmes Linux, « Oups » fait référence à une situation dans laquelle une erreur grave dans le noyau provoque le crash du système. Oups est en fait un mécanisme de crash du noyau qui arrête le système lorsqu'une erreur fatale se produit et imprime les informations d'erreur pertinentes afin que les développeurs puissent diagnostiquer et résoudre le problème. Les problèmes se produisent généralement dans l'espace du noyau et n'ont rien à voir avec les applications de l'espace utilisateur. Lorsque le noyau rencontre

Le serveur de streaming génère une erreur [FIXED] Le serveur de streaming génère une erreur [FIXED] Mar 25, 2024 am 09:40 AM

Recevez-vous un serveur de streaming qui génère une erreur sur votre ordinateur ? Stremio est un service de streaming vidéo multiplateforme que vous pouvez utiliser pour diffuser et regarder des films, des émissions de télévision, des émissions de télévision en direct, etc. Certains utilisateurs ont signalé avoir reçu cette erreur en essayant de lancer l'application. Des erreurs peuvent survenir dans diverses circonstances, notamment en cas de problèmes Internet et de serveur. Cette erreur peut également survenir lors de l'utilisation de la version Web de Stremio. Les interférences des logiciels antivirus ou des pare-feu peuvent également provoquer des erreurs. Quoi qu'il en soit, vous pouvez résoudre le problème avec ce guide. Le serveur de streaming génère une erreur Lors de l'exécution de l'application Stremio sous Windows, vous pouvez rencontrer « Stremio Streaming Server a généré une erreur.

Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Comment implémenter le saut de page en 3 secondes : Guide de programmation PHP Mar 25, 2024 am 10:42 AM

Titre : Méthode d'implémentation du saut de page en 3 secondes : Guide de programmation PHP Dans le développement web, le saut de page est une opération courante. Généralement, nous utilisons des balises méta dans les méthodes HTML ou JavaScript pour accéder aux pages. Cependant, dans certains cas précis, nous devons effectuer des sauts de page côté serveur. Cet article expliquera comment utiliser la programmation PHP pour implémenter une fonction qui accède automatiquement à une page spécifiée dans les 3 secondes, et donnera également des exemples de code spécifiques. Le principe de base du saut de page en utilisant PHP PHP est une sorte de.

Outlook insiste pour essayer de se connecter [Réparer] Outlook insiste pour essayer de se connecter [Réparer] Mar 13, 2024 am 09:22 AM

Cet article explorera les étapes que vous pouvez suivre pour résoudre les situations dans lesquelles Outlook est bloqué lors de la tentative de connexion. Quelle que soit la version de Microsoft Office, y compris Microsoft 365, vous pouvez rencontrer ce problème. Ce problème empêche l'application de bureau Outlook de recevoir correctement les e-mails. Il devient donc crucial de résoudre ce problème. Réparer Outlook bloqué lors de la tentative de connexion Si Outlook rencontre des difficultés à se connecter et que vous constatez que vous ne recevez pas de nouveaux e-mails sur l'application de bureau, les suggestions suivantes peuvent vous aider à résoudre le problème. Avant d'essayer ces méthodes, vérifiez si votre connexion Internet fonctionne correctement. Essayez de redémarrer votre routeur parfois

See all articles