настройка error_reporting в php.ini

#php

#php

Вопрос:

для моей локальной машины я использую следующую настройку в моем php.ini

 error_reporting = E_ALL amp; ~E_NOTICE amp; ~E_DEPRECATED
  

это позволяет опустить одинарные кавычки для извлечения данных из набора записей, подобного $rs[url] .
я также использовал этот параметр на своем веб-сервере, но он просто игнорирует приведенный выше синтаксис и не извлекает никаких данных. что может быть не так?

Комментарии:

1. Как вы установили это на своем веб-сервере? Панель конфигурации? ini_set() ?

2. it allows omitting single quotes for fetching data from a recordset like $rs[url] — :-S Да, это позволяет писать ужасный код

3. @zerkms Не говоря уже об использовании функций, которые не будут использоваться намного дольше

4. отключение @zerkms E_DEPRECATED позволяет использовать устаревшие функции, которые будут удалены из будущих версий PHP. Я просто дополнял ваш комментарий

5. @Phil: Я упоминал об ~E_NOTICE , вот почему я процитировал часть о «позволяет опускать одинарные кавычки»

Ответ №1:

Вы уверены, что изменили правильный php.ini?

Я спрашиваю об этом, потому что иногда php.ini находится по разным путям, один для php cli, другой для apache (и, вероятно, имеет место для другого веб-сервера).

Вам следует добавить более подробную информацию о том, какой сервер вы используете (Windows, Linux) и какой веб-сервер вы используете (apache, nginx и т.д.).

Вам также следует выполнить поиск «php.ini» в вашей файловой системе, возможно, существует более одного файла, и вы изменили неправильный, что привело к возникшей у вас проблеме.

Наконец, как упоминалось в комментариях, вы не должны удалять устаревшие ошибки и уведомление в среде разработки и иметь код «без ошибок», потому что обновление довольно легко выполнить, и любая устаревшая функция сейчас может привести к нерабочему коду после быстрого apt-get update (для пользователей debian).

Конечно, в рабочей среде вы должны скрывать все ошибки, но показывать своим пользователям красивую страницу 404 или 500 и регистрировать ошибку для последующего расследования. 🙂

Ответ №2:

Я использую Xdebug и Zend Framework 2

В моей среде разработки у меня установлено значение:

 error_reporting =  E_ALL amp; ~E_USER_DEPRECATED amp; ~E_STRICT
  

Я обнаружил, что это мой любимый параметр при использовании ZF2.

Если вы используете PHP-FPM amp; NGINX, php.ini файл обычно находится в found /etc/php5/fpm/ .

В качестве альтернативы, если вы используете Apache с модулем PHP, ваш php.ini файл обычно находится в /etc/php5/

Этот уровень отчетов об ошибках работает для меня, поскольку я обнаружил, что Zend Framework может выдавать некоторые уведомления, которые не имеют отношения к делу.