Récemment, nous avons migré vers un nouveau serveur. Après 2 jours, j'ai eu les problèmes suivants
1) Nous avons eu un crash sur une table de session, que nous avons facilement réparée en la réparant
2) Nous utilisons OpenX en tant que notre serveur ads et il s'est également écrasé, mais il n'y a aucune preuve dans error.logIl vous permet de vous connecter, mais au moment de regarder dashboard.php, nous obtenons le:
Error 330 (net::ERR_CONTENT_DECODING_FAILED): (Google Chrome)
et
La page que vous essayez d'afficher ne peut pas être affichée car elle utilise une forme de compression non valide ou non prise en charge. (Firefox)
OpenX utilise les services suivants sur PHP:
OpenX requiert: http://www.openx.com/docs/2.8/adminguide/System%20requirements
OpenX utilise les paramètres par défaut PHP. Toutefois, les administrateurs de serveur modifient parfois ces paramètres. Avant d’installer OpenX, vérifiez que les paramètres suivants sont corrects:
magic_quotes_runtime doit être désactivé safe_mode doit être désactivé register_argc_argv doit être activé si vous souhaitez exécuter la maintenance via la ligne de commande file_upload doit être activé pour autoriser le téléchargement de fichiers HTTP OpenX requiert les éléments suivants PHP extensions:
Soit l'extension mysql
, soit la pgsql
. L'extension mysqli
n'est pas prise en charge . L'extension ZLib, pour convertir des liens au sein de fichiers Flash compressés générés par Flash MX
. L'extension FTP. Si ce n'est pas présent, OpenX essaiera de le simuler, ce qui peut être une solution moins stable.
L'extension Gd, pour générer des graphiques sur la page d'accueil. Si l'extension n'est pas activée, vous ne pourrez pas afficher de graphiques ni de statistiques sur votre page d'accueil . L'extension openssl ou une extension curl activée pour SSL est nécessaire pour vous connecter à la page d'accueil. Si SSL n'est pas activé, vous recevrez un message d'erreur sur la page d'accueil, mais cela n'aura aucun impact sur les opérations.
Tout indice sur les raisons possibles ou sur la manière de rassembler plus d’informations sera très apprécié . Merci
Cela se produit lorsque les en-têtes de votre demande HTTP affirment que le contenu est codé en gzip, mais ce n'est pas le cas. Désactivez le paramètre de codage gzip ou assurez-vous que le contenu est bien codé.
J'ai activé zlib.output_compression
dans php.ini
et cela a semblé résoudre le problème pour moi.
les codes doivent enregistrer UTF8 sans nomenclature lors de l’enregistrement. Parfois, des codes écrits avec (Notepad ++) ou d'autres outils de codage et utilisant le codage UTF8, cette erreur se produit .Je suis désolé, je ne connais pas l'anglais. c'est juste mon experience.
Cette erreur est due à l'ajout de l'extension de modules de mise en tampon de sortie (ob_gzhandler) Pendant la mise en mémoire tampon de sortie, utilisez ob_start () et se termine ob_flush ()
<?php
ob_start( 'ob_gzhandler' );
echo json_encode($array);
ob_end_flush();
?>
Utilisez ceci:
<?php
ob_start();
echo json_encode($array);
ob_flush();
?>
Si vous voulez utiliser le framework Codeigniter
, créez-le simplement dans le fichier de configuration
$config['compress_output'] = FALSE;
Et dans le fichier de configuration php.ini
, utilisez:
zlib.output_compression=On
Si quelqu'un cherche encore la cause de ce problème odieux, il existe une solution pour résoudre le problème. https://www.drupal.org/node/1622904#comment-10768958 de Drupal
communauté.
Et je cite:
Modifier
includes/bootstrap.inc:
fonction drupal_load()
. C'est une fonction courte. Trouver la ligne suivante: include_once DRUPAL_ROOT . '/' . $filename;
Le remplacer temporairement par
ob_start();
include_once DRUPAL_ROOT . '/' . $filename;
$value = ob_get_contents();
ob_end_clean();
if ($value !== '') {
$filename = check_plain($filename);
$value = check_plain($value);
print "File '$filename' produced unforgivable content: '$value'.";
exit;
}
Activer la compression gzip dans php.ini :
zlib.output_compression = On
Et ajoutez ceci à votre .htaccess file:
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
Utilisez-vous la fonction ob_start(ob_gzhandler)
? Si tel est le cas et si vous générez du contenu supérieur à la fonction ob_start(ob_gzhandler)
, vous obtiendrez cette erreur. Vous ne pouvez pas utiliser cette fonction ou ne pas générer de contenu au-dessus de cette fonction. La fonction de rappel ob_gzhandler
déterminera le type de contenu encodé que le navigateur acceptera et renverra sa sortie en conséquence. Par conséquent, si vous exportez du contenu au-dessus de cette fonction, le codage du contenu peut être différent du contenu de sortie de ob_gzhandler
, ce qui entraîne cette erreur.
Je rencontrais ce problème sur un site drupal et aucune des autres solutions de ce fil ne m'a aidé. Après un dépannage, j'ai trouvé que le fichier local.settings.php avait une balise de fermeture suivie d'un espace, comme suit:
<?php
$databases = array(
'default' =>
array (
'default' =>
array (
'driver' => 'mysql',
'database' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
'port' => '',
'Host' => 'xxx',
),
),
);
?>
La mise à jour de local.settings.php comme suit a été résolue:
<?php
$databases = array(
'default' =>
array (
'default' =>
array (
'driver' => 'mysql',
'database' => 'xxx',
'username' => 'xxx',
'password' => 'xxx',
'port' => '',
'Host' => 'xxx',
),
),
);
La balise de fermeture "?>" PHP n'est pas nécessaire ici. Si vous choisissez d'utiliser une balise de fermeture, vous devez vous assurer qu'il n'y a pas de caractères/espaces après celle-ci.
Il y a un mauvais bogue Java qui va causer ceci: https://bugs.Java.com/view_bug.do?bug_id=JDK-8189789
Ce matin, j’ai eu l’impression d’un moment factice de me rendre compte de la cause de ce problème.
La chose étrange est que la demande a échoué à la fois dans Firefox et Chrome, mais a fonctionné lorsque j'ai essayé d'accéder via Fiddler Web Debugger.
Pour moi, le problème était que j'avais mal saisi un caractère dans l'un des fichiers PHP du projet. Je ne l'avais pas remarqué jusqu'à ce que je vérifie les modifications apportées au projet par Git.
Dans mon cas, j'avais: m<?php runMyProgram(); ?>
.
Une fois que j'ai effacé le m, il a recommencé à fonctionner.
Encore une idée pour quiconque.
J'ai eu quelques svg gzipped, mais il y avait une erreur php dans la sortie, ce qui a provoqué ce message d'erreur. (Parce qu'il y avait du texte au milieu du fichier binaire gzip.) Correction de l'erreur PHP corrigée.
Nous avons également rencontré ce problème lors de la mise à niveau de notre système vers Revive. Après avoir tourné GZIP, nous avons constaté que le problème persistait toujours. Après une enquête plus approfondie, nous avons trouvé que les autorisations de fichiers étaient incorrectes après la mise à niveau. Un simple chmod récursif a fait l'affaire.
Dans mon cas, cela s'est produit lors de l'ajout d'une nouvelle application à IIS qui devait être mandatée avec Apache.
J'avais besoin de définir ProxyHTMLEnable On
sur ProxyHTMLEnable Off
pour obtenir le contenu. (Il semble que la plupart des codes js aient déclenché l'erreur, mais cela m'a donné au moins quelque chose à partir duquel travailler.)
IIS envoie le contenu de la page Content-Encoding: gzip
<Proxy "http://192.168.1.1:81">
ProxyHTMLEnable On #> change this to Off
ProxyHTMLURLMap ... ...
</Proxy>