php zend-framework error-reporting

php - Informe de errores en el marco zend



zend-framework error-reporting (2)

Tengo problemas para informar errores en Zend Framework, los mensajes de error no se muestran en el navegador y recibo un error como este:

Ocurrió un error

Error de la aplicación

Sin embargo, ya uso esa configuración en mi archivo application.ini:

phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 phpSettings.track_errors = 1 phpSettings.error_reporting = E_ALL

Gracias de antemano


La configuración que mencionas es la administración de errores de php, mientras que lo que estás buscando es realmente el informe Zend error y excepción. Como se mencionó en kjy112, parece que Zend se encuentra por defecto en el entorno de producción, que no muestra ninguno de los informes de errores.

El inicio rápido de Zend puede ser la forma más rápida de ayudarlo a ponerse al día sobre esto: http://framework.zend.com/manual/en/zend.application.quick-start.html

Básicamente puede establecer una definición dentro de su archivo index.php (no el más limpio), o recomiendo configurarlo en su configuración de apache y luego leerlo desde su archivo index.php. Uso algo como esto en mi Bootstrap:

if (!defined(''APPLICATION_ENVIRONMENT'')) { if (getenv(''APPLICATION_ENVIRONMENT'')) { define(''APPLICATION_ENVIRONMENT'', getenv(''APPLICATION_ENVIRONMENT'')); } else { define(''APPLICATION_ENVIRONMENT'', ''production''); } }

La vista Zend error.phtml predeterminada tiene algo similar al siguiente código, que bloquea la pantalla en el entorno de producción:

<?php if (''production'' !== $this->env): ?> <div id="error"> <p> <ul class="errorList"> <li> <h3><?php echo $this->message ?></h3> </li> <li> <h4>Exception information:</h4> <p><?php echo $this->exception->getMessage() ?></p> </li> <li> <h4>Stack trace:</h4> <p><?php echo $this->exception->getTraceAsString() ?></p> </li> <li> <h4>Request Parameters:</h4> <p><?php var_dump($this->request->getParams()) ?></p> </li> </ul> </p> </div> <?php endif ?>


Tuve el mismo problema que finalmente se solucionó en 2 pasos:

{project name}/application/configs/application.ini y al final agregue las siguientes líneas:

[development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 settings.debug.enabled = 1

2.Modificar {project name}/public/index.php

<?php // Define path to application directory defined(''APPLICATION_PATH'') || define(''APPLICATION_PATH'', realpath(dirname(__FILE__) . ''/../application'')); // Define application environment defined(''APPLICATION_ENV'') || define(''APPLICATION_ENV'', (getenv(''APPLICATION_ENV'') ? getenv(''APPLICATION_ENV'') : ''production'')); // Typically, you will also want to add your library/ directory // to the include_path, particularly if it contains your ZF installed set_include_path(implode(PATH_SEPARATOR, array( dirname(dirname(__FILE__)) . ''/library'', get_include_path() ))); /** * Zend_Application */ require_once ''Zend/Application.php''; // Create application, bootstrap, and run $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . ''/configs/application.ini''); $application->bootstrap()->run(); ?>

Espero que esto también funcione para usted.