В настоящее время у меня есть сайт на php 5.4, до этого я работал на 5.3.8. К сожалению, php 5.4 сочетает в себе E_ALL
и E_STRICT
, что означает, что мои предыдущие настройки для error_reporting
сейчас не работают. Мое предыдущее значение было « E_ALL & ~E_NOTICE & ~E_STRICT
Должен ли я просто включать значения по одному?
У меня слишком много ошибок, а файлы содержат слишком много кода, чтобы я мог их исправить.
php
error-handling
икомрейд
источник
источник
Ответы:
Как заявили комментаторы, лучший вариант - исправить ошибки, но при ограниченном времени или знаниях это не всегда возможно. В вашем php.ini измените
к
Если у вас нет доступа к php.ini, вы можете поместить его в свой файл .htaccess:
Это значение E_ALL (32767) и удаление значений E_STRICT (2048) и E_NOTICE (8).
Если у вас нет доступа к файлу .htaccess или он не включен, вам, вероятно, потребуется поместить его в верхней части раздела PHP любого скрипта, загружаемого при вызове браузера:
Один из них должен помочь вам использовать программное обеспечение. Уведомления и строгие правила являются индикаторами проблем или потенциальных проблем, и вы можете обнаружить, что часть кода в PHP 5.4 работает некорректно.
источник
.htaccess php_value работает, только если вы используете PHP Server API как модуль веб-сервера Apache. Используйте синтаксис IfModule:
Если вы используете PHP Server API CGI / FastCGI, используйте
или
в вашем PHP-коде или файлах конфигурации PHP .user.ini | Модификация php.ini:
на вашем виртуальном хосте, на уровне сервера.
источник
У меня это сработало, когда я установил error_reporting в двух местах одновременно
где-то в PHP-коде
и в файле .htaccess
источник
Если вам нужно также отключить E_DEPRACATED, используйте:
В моем случае CMS Made Simple жаловался: «E_STRICT включен в error_reporting», а также «E_DEPRECATED включен». Добавление этой одной строки в .htaccess устранило обе неверные конфигурации.
источник
Внимание, вам может потребоваться перезапустить LAMP, Apache или что-то еще, что вы используете, чтобы это повлияло. Некоторое время мы ломали голову над этим, казалось, не повлияло, пока службы не были перезапущены, предположительно из-за кеширования веб-сайта.
источник