Привет парни, я работаю с платформой Зенда и просто ненавижу то, что я, кажется, встречаюсь с сотнями ошибок исключения как то, если я пытаюсь сослаться на не существующее свойство объекта мое приложение просто, умирают и отказывают. Однако я понятия не имею, где видеть эти ошибки или как смочь отобразить их на экране. У меня есть ошибки дисплея аппарата к истинному и сообщению об ошибке к E_ALL, но когда ошибка брошена все, что я вижу, пустая страница, представленная только до немного прежде, где ошибка, по-видимому, произошла, или исключение было выдано.
Справка моя отладка часов перетаскивает
Каково значение переменной окружения APPLICATION_ENV.
Стандартный public/index.php в приложении ZF делает следующее:
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
Это означает, что если переменная APPLICATION_ENV не установлена, то окружение устанавливается как "production". Если вы посмотрите на свой файл application.ini, то увидите, что фреймворк подавляет ошибки, если окружение - production.
Конечно, вы занимаетесь разработкой, поэтому вы хотите использовать среду 'development'.
Если вы работаете под управлением Apache/mod_php, вы можете установить это в httpd.conf или в файле .htaccess:
SetEnv APPLICATION_ENV development
Или вы всегда можете стать уродливым и взломать ваш public/index. php:
// Define application environment
/*defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));*/
// Ugly hack because I'm too lazy to properly set up my environment.
define('APPLICATION_ENV','development');
Ссылка на несуществующее свойство является ошибкой в PHP, а не исключением. Ошибки обычно появляются в выводе html, если вы включили display_errors в вашем php.ini. Но будьте осторожны: они также могут возникать в невидимом теге html, например:
<div style="display:none"><? echo $object->nonexistant?> ...
... поэтому вам нужно проверить вывод HTML вашей страницы ( CTRL-U в firefox) и прокрутить вниз
Если вы создаете скелет приложения с помощью Zend Tool, у вас обычно есть контроллер ошибок, который будет перехватывать ошибки во время выполнения и отображать их. Вам нужно последовать совету timdev SetEnv APPLICATION_ENV development
и затем, в вашем application/configs/application.ini:
[development : production]
; This section defines config parameters loaded when the APPLICATION_ENV directive
; is set to 'development' - undefined parameters are inherited from the production
; section.
; show errors and exceptions during development
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1