stackoverflow sql_mode questions only_full_group_by only not no_engine_substitution no_auto_create_user full error disable desactivar create php zend-framework

sql_mode - Mostrar los errores de php cuando se usa Zend framework



no_auto_create_user no_engine_substitution (9)

Abra urproject / application / config y abra application.ini
Cambiar la segunda línea

phpSettings.display_errors = 0

a

phpSettings.display_errors = 1

Ahora mostrará errores.

He estado usando Zend Framework y estoy viviendo con este problema por un tiempo, pero ahora es demasiado molesto, así que te enviaré la pregunta.

Hay ciertos problemas dentro del marco de Zend que Zend puede reconocer (como llamar a un controlador inexistente) y enviará ese problema al ErrorController. Lo estoy trabajando bien.

Parece que hay algunos problemas que Zend Framework fallará y mostrará el error a través de php, como si una determinada función no existiera o algo así. Esos que puedo ver y arreglar.

Sin embargo, a veces Zend no fallará, pero también enviará una respuesta vacía. Conseguiré una página en blanco. El diseño no aparece, no hay código, no hay nada que me dé una idea de lo que salió mal. La última vez, hubo un requerimiento () que falló. Tuve que resolver esto manualmente sin comentarios.

¿Alguno de ustedes ha experimentado esto? ¿Tiene algún consejo sobre cómo mostrar estos errores? ¡Cualquier ayuda sería apreciada!


Decisión rápida y sucia, si ninguno de los métodos ya mencionados funcionó (útil para la versión antigua o fea de ZF):

  • encuentra ErrorController de tu aplicación.
  • Ponga la llamada de la función debug_print_backtrace en la parte superior del método init (con die () opcionalmente)

Edite el archivo public / index.php.
Cambie APPLICATION_ENV a ''desarrollo''.

Esto usará la configuración de desarrollo en su archivo application / configs / application.ini. Esas configuraciones definen si suprimir errores.


El manejo interno de errores de los componentes MVC de la infraestructura solo puede atrapar Excepciones, no errores de PHP.

Para ayudar en la depuración durante el desarrollo, puede usar el estándar:

error_reporting(E_ALL|E_STRICT); ini_set(''display_errors'', ''on'');

Además, si está utilizando el nuevo autocargador incluido con 1.8, use:

Zend_Loader_Autoloader::getInstance()->suppressNotFoundWarnings(false);

Permitir que se emitan sentencias include / require fallidas.


Es muy tarde para responder esta pregunta ahora. Pero espero que ayude a alguien más ...

Simplemente coloque la siguiente función en su archivo Bootstrap.php para habilitar excepciones.

protected function _initErrorDisplay(){ $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true); }


Establezca esto en su configuración:

phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1


Para cualquiera para quien las respuestas dadas aquí no funcionaron, siempre se puede ir a los registros de apache para ver una descripción del problema. Por supuesto, sería más conveniente si esto se mostrara en la página, pero creo que es una alternativa aceptable.

/var/log/apache2/error.log

Tengo este archivo abierto con vim y escriba: e para actualizar y G para ir al final de la página para ver el error más reciente cuando obtengo la página en blanco. Te dice la hora en que ocurrió el error, el mensaje y la línea, por lo que es bastante útil.


Para otros que se encuentran con esta pregunta: Cambié la siguiente línea en configs / application.ini

resources.frontController.params.displayExceptions = 0

A:

resources.frontController.params.displayExceptions = 1

Esto me permitió ver la Excepción completa, incluida stacktrace.


ponga estas líneas en application / configs / config.php

error_reporting(E_ALL|E_STRICT); ini_set(''display_errors'', ''on'');