Intereting Posts
Чтобы лучше понять переписку сеанса с двумя сеансовыми инициативами работа с массивом данных JSON из ответа Ajax? Vim PHP omni завершение Отправка электронной почты с открытым текстом php и html сообщение проверки печати на одном экране без перенаправления в PHP разделить форматированную дату на отдельный месяц / день / год час / минута / секунда в php Регулярное выражение извлекает переменную JavaScript в PHP jquery progressbar – загружает все сразу Кнопка «Назад» повторно отправляет данные формы ($ _POST) Генерация массива данных из данных POST с помощью param-map Перенаправить на более старую страницу в php? Показать код (html css php javascript jQuery и т. Д.) На веб-странице, точно так же, как код отображается здесь, в поле, синтаксис Выберите все параметры в Разбор значений из JSON с использованием php Почему MySQL-соединение блокируется из-за многих ошибок подключения?

Как отображать ошибки исключения, создаваемые платформой Zend

Привет, ребята, я работаю с картой Zend и просто ненавижу тот факт, что я, кажется, сталкиваюсь со многими ошибками исключения, например, если я пытаюсь ссылаться на несуществующее свойство объекта, которое мое приложение просто умирает и падает. Однако я не знаю, где можно увидеть эти ошибки или как их отображать на экране. Я установил ошибки отображения в true и сообщение об ошибках в E_ALL, но когда возникает ошибка, все, что я вижу, это пустая страница, отображаемая только до бит, прежде чем произойдет ошибка или возникло исключение.

Помогите, пожалуйста, мои часы отладки перетаскиваются

Solutions Collecting From Web of "Как отображать ошибки исключения, создаваемые платформой Zend"

Какова ценность переменной среды APPLICATION_ENV.

Стандартный public / index.php в приложении ZF выполняет следующие действия:

// Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); 

Это означает, что если APPLICATION_ENV не установлен, среда устанавливается как «производство». Если вы посмотрите на свой файл application.ini, вы увидите, что структура подавляет ошибки, если среда является производством.

Конечно, вы развиваетесь, поэтому хотите использовать среду разработки.

Если вы работаете под Apache / mod_php, вы можете установить это в своем httpd.conf или файле .htaccess:

 SetEnv APPLICATION_ENV development 

Или вы всегда можете быть уродливыми и взломать свой общедоступный / 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'); 

Если вы создаете скелет приложения с помощью Zend Tool, у вас обычно будет контроллер ошибок, который будет улавливать ошибки во время выполнения и отображать их. Вы захотите следовать советам SetEnv APPLICATION_ENV development а затем в вашем приложении / 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 

Ссылка на несуществующее свойство – ошибка в PHP, а не исключение. Ошибки обычно выводятся в html, если вы включили display_errors в php.ini. Но будьте осторожны: они могут также встречаться в невидимом теге html, например:

 <div style="display:none"><? echo $object->nonexistant?> ... 

… так что вам нужно проверить вывод HTML на вашей странице ( CTRL-U в firefox) и прокрутить вниз