with texto strip_tags remove limpiar from eliminar allow all php cakephp cakephp-1.3

texto - Cómo eliminar php5 ¿Errores de estándares estrictos?



string strip_tags (7)

Después de actualizar mi PHP a 5.4.3 (servidor WAMP 2.2), mi aplicación web creada en CakePHP 1.3, muestra los siguientes errores en mi índice:

Normas estrictas: redefinición del constructor ya definido para la clase Objeto en C: ... / cake / cake / libs / object.php en la línea 63

Estándares estrictos: Método no estático Configure :: getInstance () no se debe llamar estáticamente en C: ... / cake / cake / bootstrap.php en la línea 49

Descubrí que algunas personas resuelven este problema estableciendo el error_reporting en php.ini en E_ALL & ~E_STRICT .

Lo hice en ambos archivos php.ini (C: / wamp / bin / php / php5.4.3 y C: / wamp / bin / apache / apache2.4.2 / bin) presentes en mi computadora pero no resolvió el problema .

También traté de poner php_value error_reporting 6143 en C: ... / cake.htaccess pero sin éxito.

¿Alguien sabe cómo puedo resolver esto? No puedo actualizar mi CakePHP debido a Firebird.


Archivo bootstrap.php de la carpeta (raíz) pastel

if (!defined(''E_ALL'')) { define(''E_ALL'', 8192); }

File debugger.php de la carpeta (raíz) cake / libs

error_reporting(E_ALL ^ ~E_STRICT ^ ~E_DEPRECATED);


Asegúrese de haber actualizado el archivo php.ini correcto, si crea un archivo php en su directorio raíz con el siguiente código

<?php phpinfo(); ?>

y cargarlo en su navegador web le dirá qué archivo ini se está utilizando, en caso de que se haya perdido uno.

También es posible que un archivo htaccess establezca ese valor a través del valor php_flag error_reporting , que también se puede establecer por directorio.


En lugar de modificar los archivos básicos de la torta, lo que apesta si quiere actualizar su versión de torta, vaya a su archivo Config / core.php y busque la configuración del manejador de errores:

Configure::write(''Error'', array( ''handler'' => ''ErrorHandler::handleError'', ''level'' => E_ALL & ~E_DEPRECATED, ''trace'' => true ));

y reemplace ''nivel'' con esto:

... ''level'' => E_ALL & ~E_STRICT & ~E_DEPRECATED, ...


Estás usando la versión más nueva de php. en php 5.4, E_STRICT es parte de E_ALL

en la torta 1.3, abra el archivo / cake/bootstrap.php y cambie el error_reporting como este

error_reporting(E_ALL & ~E_STRICT & ~E_DEPRECATED);


Por favor cámbialo

error_reporting = E_ALL

en tu php.ini , con

error_reporting = E_ALL & ~E_STRICT

Para mi

error_reporting(E_ALL ^ E_STRICT);

que se muestra en la respuesta aceptada a esta pregunta no funcionó y dio un bucle infinito detectado en error de error para mi sitio web de Joomla.


Si estás peleando con las advertencias de PHP Strict en la salida de la consola pastelera, eche un vistazo a su app/config/core.php .

En CakePhp 1.3 error_reporting(...) es sobreescrito por la opción ''log'' , así que asegúrese de excluir E_STRICT aquí:

/** * CakePHP Log Level: * * In case of Production Mode CakePHP gives you the possibility to continue logging errors. * * The following parameters can be used: * Boolean: Set true/false to activate/deactivate logging * Configure::write(''log'', true); * * Integer: Use built-in PHP constants to set the error level (see error_reporting) * Configure::write(''log'', E_ERROR | E_WARNING); * Configure::write(''log'', E_ALL ^ E_NOTICE); */ Configure::write(''log'', E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);


Uno de los cambios en php 5.4 es que E_STRICT ahora es parte de E_ALL

Por lo tanto, en su /cake/bootstrap.php puede eliminar el E_STRICT de su informe de errores:

error_reporting(E_ALL ^ E_STRICT);

y ser compatible de nuevo con versiones anteriores a 5.4.