php - como - err_content_decoding_failed wordpress
Error 330(net:: ERR_CONTENT_DECODING_FAILED): (11)
Recientemente migramos a un nuevo servidor. Después de 2 días, recibí los siguientes problemas
1) Tuvimos un bloqueo en una tabla de sesión, que solucionamos fácilmente remediando
2) Ejecutamos OpenX como nuestro servidor de anuncios, y también se bloqueó, pero no hay evidencia en error.log Le permite iniciar sesión, pero en el momento de mirar a dashboard.php, obtenemos:
Error 330 (net::ERR_CONTENT_DECODING_FAILED): (Google Chrome)
y
La página que intenta ver no se puede mostrar porque usa una forma de compresión no válida o no compatible. (Firefox)
OpenX usa los siguientes servicios en PHP:
OpenX requiere: http://www.openx.com/docs/2.8/adminguide/System%20requirements
OpenX usa la configuración predeterminada de PHP. Sin embargo, los administradores del servidor a veces cambian estas configuraciones. Antes de instalar OpenX, compruebe que la siguiente configuración sea correcta:
magic_quotes_runtime debe estar desactivado safe_mode debe estar desactivado register_argc_argv debe estar activado si desea ejecutar el mantenimiento a través de la línea de comandos file_uploads debe activarse para permitir la carga de archivos HTTP OpenX requiere las siguientes extensiones de PHP:
Ya sea la extensión mysql
, o la pgsql
. La extensión mysqli
no es compatible. La extensión ZLib, para convertir enlaces dentro de archivos Flash comprimidos generados por Flash MX
. La extensión de FTP. Si esto no está presente, OpenX intentará simularlo, lo que puede ser una solución menos estable.
La extensión GD, para generar gráficos en la página de inicio. Si la extensión no está habilitada, no podrá ver gráficos o estadísticas en su página de inicio. O bien se requiere la extensión openssl o una extensión curl habilitada para SSL para iniciar sesión en la página de inicio. Si SSL no está habilitado, recibirá un mensaje de error en la página de inicio, pero no tendrá ningún impacto en las operaciones.
Cualquier pista sobre las posibles razones o sobre cómo reunir más información será muy apreciada. Gracias
¿ ob_start(ob_gzhandler)
la función ob_start(ob_gzhandler)
? Si es así, y si ob_start(ob_gzhandler)
cualquier contenido sobre la función ob_start(ob_gzhandler)
, obtendrás este error. No puede utilizar esta función o no generar contenido por encima de esta función. La función de devolución de llamada ob_gzhandler
determinará qué tipo de contenido aceptará el navegador y devolverá su resultado en consecuencia. Por lo tanto, si emite contenido por encima de esta función, la codificación del contenido puede ser diferente del contenido de salida de ob_gzhandler
y eso causa este error.
En caso de que alguien siga buscando la causa de este odioso problema, se presenta una solución para identificar el archivo causante. https://www.drupal.org/node/1622904#comment-10768958 de la comunidad de Drupal
.
Y cito:
Editar
includes/bootstrap.inc:
función drupal_load()
. Es una función corta. Busque la siguiente línea: include_once DRUPAL_ROOT . ''/'' . $filename;
include_once DRUPAL_ROOT . ''/'' . $filename;
Sustitúyalo temporalmente por
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;
}
Estaba experimentando este problema en un sitio drupal y ninguna de las otras soluciones en este hilo me ayudó. Después de un poco de solución de problemas, encontré que local.settings.php tenía una etiqueta de cierre con un espacio como el siguiente:
<?php
$databases = array(
''default'' =>
array (
''default'' =>
array (
''driver'' => ''mysql'',
''database'' => ''xxx'',
''username'' => ''xxx'',
''password'' => ''xxx'',
''port'' => '''',
''host'' => ''xxx'',
),
),
);
?>
Actualizando local.settings.php a lo siguiente resuelto:
<?php
$databases = array(
''default'' =>
array (
''default'' =>
array (
''driver'' => ''mysql'',
''database'' => ''xxx'',
''username'' => ''xxx'',
''password'' => ''xxx'',
''port'' => '''',
''host'' => ''xxx'',
),
),
);
La etiqueta de cierre "?>" PHP no es necesaria aquí. Si elige usar una etiqueta de cierre, debe asegurarse de que no haya caracteres / espacios en blanco después de ella.
Este error se debe a que se ha agregado la extensión de los módulos de almacenamiento en memoria intermedia de salida (ob_gzhandler). Mientras que el almacenamiento en búfer de salida se usa al iniciar ob_start () y finalizar ob_flush ()
<?php
ob_start( ''ob_gzhandler'' );
echo json_encode($array);
ob_end_flush();
?>
Utilizar esta:
<?php
ob_start();
echo json_encode($array);
ob_flush();
?>
Habilite la compresión gzip en php.ini :
zlib.output_compression = On
Y agrégalo a tu archivo .htaccess :
<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>
Si va a utilizar el marco Codeigniter
, simplemente haga esto en el archivo de configuración:
$config[''compress_output''] = FALSE;
Y en el archivo de configuración de php.ini
, use:
zlib.output_compression=On
Sucede cuando los encabezados de su solicitud HTTP afirman que el contenido está codificado gzip, pero no es así. Desactive la configuración de codificación gzip o asegúrese de que el contenido esté codificado.
También tuvimos este problema al actualizar nuestro sistema a Revive. Después del cambio de GZIP, encontramos que el problema aún persistía. Tras una investigación más profunda, encontramos que los permisos del archivo no eran correctos después de la actualización. Un simple chmod recursivo hizo el truco.
Una idea más para que cualquier otra persona consiga esto ...
Tenía un svg gzipped, pero tenía un error de php en la salida, lo que provocó este mensaje de error. (Debido a que había texto en el medio de gzip binary.) La solución del error de php lo resolvió.
los códigos necesitan guardar UTF8 sin BOM durante la grabación. A veces, se escriben códigos con (Notepad ++) u otras herramientas de codificación y usan codificación UTF8, este error ocurre. Lo siento, no sé inglés. Esta es solamente mi experiencia.
zlib.output_compression
en php.ini
y parecía arreglar el problema para mí.