Отключение строгих стандартов в PHP 5.4



в настоящее время я запускаю сайт на php 5.4, до этого я запускал свой сайт на 5.3.8. К сожалению, php 5.4 сочетает в себе E_ALL и E_STRICT, что означает, что моя предыдущая настройка для error_reporting не работает сейчас. Мое предыдущее значение было E_ALL & ~E_NOTICE & ~E_STRICT должен ли я просто включить значения по одному?



у меня слишком много ошибок и файлы содержат слишком много кода для меня, чтобы исправить.

513   5  

5 ответов:

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

error_reporting = E_ALL

до

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

если у вас нет доступа к PHP.Ини, вы можете поместить это в ваш .файл htaccess:

php_value error_reporting 30711

это значение E_ALL (32767) и удаление значений E_STRICT (2048) и E_NOTICE (8).

если у вас нет доступа к.файл htaccess или он не включен, вам, вероятно, нужно будет поместить это в верхней части раздела PHP любого скрипта, который загружается из вызова браузера:

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

один из них должен помочь вам использовать программное обеспечение. Уведомления и строгий материал являются индикаторами проблем или потенциальных проблем, хотя и вы можете найти некоторые из кода не работает правильно в PHP 5.4.

надеюсь, что это помогает.

.htaccess php_value работает только в том случае, если вы используете PHP Server API в качестве модуля веб-сервера Apache. IfModule используйте следующий синтаксис:

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
    php_value error_reporting 30711
</IfModule>

если вы используете PHP Server API CGI / FastCGI используйте

ini_set('error_reporting', 30711);

или

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

в вашем PHP коде, или файлы конфигурации PHP .пользователь.ini / php.модификация ini строчку:

error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE

на виртуальном хосте, на уровне сервера.

это сработало для меня, когда я установил error_reporting в двух местах одновременно

где-то в PHP-код

ini_set('error_reporting', 30711);


и в .htaccess file

php_value error_reporting 30711

Если Вам также нужно отключить E_DEPRACATED, используйте:

php_value error_reporting 22527

в моем случае CMS Made Simple жаловался "E_STRICT включен в error_reporting", а также"e_deprecated включен". Добавляя эту одну строку .htaccess решил обе неправильные конфигурации.

Heads up, вам может потребоваться перезапустить LAMP, Apache или что-то еще, чтобы это повлияло на вас. Некоторое время мы ломали голову над этим, казалось, не повлияли, пока службы не были перезапущены, предположительно потому, что веб-сайт был кэширован.

Comments

    Ничего не найдено.