8

For reasons outside my control I am unable to set display_errors=0 and log_errors=1 in php.ini on my production server. I know I can set error_reporting(0); to completely suppress all error messages, but this impacts both the log errors and the displayed errors. I was hoping there would be an equivalent to setting display_errors=0 and log_errors=1 at runtime. Is this possible? Thanks.

2
  • You'd probably want to do it in an .htaccess, so the directives are in effect before the script even starts parsing. That'll keep fatal errors out of sight as well. Commented Mar 15, 2012 at 22:23
  • This can only be done over Apache as module. Commented Nov 25, 2013 at 3:41

3 Answers 3

15

Both are PHP_INI_ALL, so you can just use ini_set at runtime.

ini_set('display_errors', 0);
ini_set('log_errors', 1);

See http://php.net/manual/en/ini.list.php

Sign up to request clarification or add additional context in comments.

2 Comments

Meaning this would only need to be set once for that session and not on every page?
@keybored no, it means it is set when these two lines of code are executed and then it stays active while the script is active, e.g. for that single request. has nothing to do with sessions.
4

try this:

ini_set('display_errors', 0);
ini_set('log_errors', 1);

Comments

0

If you are using PHP as module and cannot use php.ini main directive nor overrided php.ini on the desired folder, and you won't to enable it on php file, yo can try to use .htaccess habilities.

On the top of the folder containing your app, put an .htaccess file with: php_flag display_errors 0

Should apply only to the php output display not the logs.

Anyway, the solution provided about ini_set() will apply only to the pages who contain it. Note: If you have includes, the display_error value will work when parse it. But if you access it directly won't work.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.