Сообщение об ошибке в zend framework

У меня возникли проблемы с сообщениями об ошибках в zend framework, сообщения об ошибках не отображаются в браузере, и я получаю ошибку следующим образом:

Произошла ошибка

Ошибка приложения

Однако я уже использую эту конфигурацию в файле application.ini:

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

Заранее спасибо

Solutions Collecting From Web of "Сообщение об ошибке в zend framework"

Упомянутые вами настройки – это управление ошибками php, в то время как то, что вы ищете, действительно является ошибкой Zend и отчетами об исключениях. Как упоминалось в kjy112, похоже, что Zend по умолчанию работает с производственной средой, которая не отображает никаких сообщений об ошибках.

Быстрый запуск Zend может быть самым быстрым способом помочь вам ускорить это: http://framework.zend.com/manual/en/zend.application.quick-start.html

В принципе, вы можете либо установить определение внутри вашего файла index.php (не самый чистый), либо я рекомендую установить его в вашей конфигурации apache, а затем прочитать его из файла index.php. Я использую что-то подобное в моем Bootstrap:

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

Представление Zend error.phtml по умолчанию имеет нечто похожее на следующий код, который блокирует отображение в рабочей среде:

 <?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 ?> 

У меня была та же проблема, которая была в конечном итоге разобрана в 2 этапа:

1.Откройте {project name}/application/configs/application.ini и в конце добавьте следующие строки:

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

2.Modify {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(); ?> 

Надеюсь, это сработает и для вас.