I'm currently running a site on php 5.4, prior to this I was running my site on 5.3.8. Unfortunately, php 5.4 combines E_ALL
and E_STRICT
, which means that my previous setting for error_reporting
does not work now. My previous value was E_ALL & ~E_NOTICE & ~E_STRICT
Should I just enable values one at a time?
I have far too many errors and the files contain too much code for me to fix.
This question is related to
php
error-handling
Heads up, you might need to restart LAMP, Apache or whatever your using to make this take affect. Racked our brains for a while on this one, seemed to make no affect until services were restarted, presumably because the website was caching.
It worked for me, when I set error_reporting in two places at same time
somewhere in PHP code
ini_set('error_reporting', 30711);
and in .htaccess file
php_value error_reporting 30711
If you would need to disable E_DEPRACATED also, use:
php_value error_reporting 22527
In my case CMS Made Simple was complaining "E_STRICT is enabled in the error_reporting" as well as "E_DEPRECATED is enabled". Adding that one line to .htaccess solved both misconfigurations.
.htaccess php_value is working only if you use PHP Server API as module of Web server Apache. Use IfModule syntax:
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value error_reporting 30711
</IfModule>
If you use PHP Server API CGI/FastCGI use
ini_set('error_reporting', 30711);
or
error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);
in your PHP code, or PHP configuration files .user.ini | php.ini modification:
error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE
on your virtual host, server level.
Source: Stackoverflow.com