display_errors = Off and still errors printed in CLI


Well-Known Member
I have set display_errors = Off and error logging to file. That ini (/opt/lsws/lsphp7/lib/php.ini) is loaded and used.

I have cron scripts (php) running and was surprised to see the notice error printed (which prevented php generated mails going out):
Notice: Undefined variable: xxxxxxxxx in /..../.php
on line 3852
I verified this behaviour:

if I run a script in CLI

p hpinfo(INFO_GENERAL);

I get
Parse error: syntax error, unexpected 'hpinfo' (T_STRING) in /root/phpinfo.php on line 3
I really should not see ANY errors printed out!

Any ideas?
It looks like CLI uses some other ini even if it says it uses the /opt/lsws/lsphp7/lib/php.ini, or simply ignores it.
I don't want to use error_reporting(0); because I need to see logged errors.

ini file is loaded correctly (where "display_errors = Off"):
phpinfo(INFO_GENERAL) run (that same php script above in correct form) in shell shows
PHP Version => 7.2.3
Server API => LiteSpeed V7.0
Loaded Configuration File => /opt/lsws/lsphp7/lib/php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20170718
PHP Extension => 20170718
Zend Extension => 320170718
Zend Extension Build => API320170718,NTS
PHP Extension Build => API20170718,NTS
Debug Build => no
(LSWS Enterprise 4-CPU 5.2.5)
Last edited by a moderator:


Well-Known Member
Yes I know. No matter what you have there, errors are printed (lsws updated to latest release).
/opt/lsws/fcgi-bin/lsphp7 -c /opt/lsws/lsphp7/lib/php_x.ini ./phpinfo.php

Parse error: syntax error, unexpected 'hpinfo' (T_STRING) in /root/phpinfo.php on line 3
php_x.ini contains
error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = Off
log_errors_max_len = 1024
ignore_repeated_errors = On
ignore_repeated_source = On
report_memleaks = On
html_errors = Off
error_log =
if I set in ini
error_reporting = 0
the errors won't show up, but that does not negate this problem. I really want to ONLY log all errors, but now it is impossible in CLI as it prints all out regardless of ini settings.

in php file does not hide errors,
error_reporting = 0 in ini is the only one that works with CLI.
Last edited by a moderator:


Well-Known Member
Can you post output of:

php -v
whereis php
Those produce no result, but it brought out something useful.
I have in the system php binaries

and I found the only one that is actually CLI php is

/opt/lsws/lsphp7/bin/php -v
PHP 7.2.3 (cli) (built: Mar  5 2018 13:41:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.3, Copyright (c) 1999-2018, by Zend Technologies

Loaded Configuration File => /opt/lsws/lsphp7/lib/php.ini
And so that is the only one that honors the correct ini and does not output errors in CLI mode.

I must say this lsws php setup is quite confusing.