Can't disable error reporting in OpenCart (PHP)

colmde picture colmde · Jun 5, 2013 · Viewed 30.3k times · Source

I can't seem to disable error reporting in PHP - I have tried everything but "Notice" errors are still displayed.

My php.ini has

display_errors = Off;
error_reporting = 0;

My .htaccess has

php_value error_reporting 0

And my script has

ini_set('display_errors', 'Off');
ini_set('log_errors', 1);
ini_set('error_reporting', 0);
ini_set('display_startup_errors', 'Off');

php_info();

echo $my_undefined_var;

The php_info() output confirms that display_errors and error_reporting are indeed off and 0, and yet I still get a notice,

Notice: Undefined variable: my_undefined_var in /my/site/path/index.php?blahblah...

Note this is an OpenCart website (and my change is in the Admin section). I have tried creating a test php script in the same directory as index.php and it's fine.

Is there anything else that could be overriding the error_reporting(0) ?

I've done a grep of the entire site to find and disable all mentions of the error_reporting and display_errors but to no avail.

Answer

random_user_name picture random_user_name · Feb 26, 2014

There is a setting within the OpenCart dashboard that allows you to turn on (or off) error reporting and logging.

  1. Log into your dashboard
  2. In the menu, go to "System" and select "Settings"
  3. In the list of stores, click "Edit" for your store
  4. Click the "Server" tab.
  5. Scroll down, and there's two settings:
    a. Log Errors - set this as desired
    b. Display Errors - set this to "No"