Edit report at https://bugs.php.net/bug.php?id=64882&edit=1
ID: 64882
User updated by: weirdan at gmail dot com
Reported by: weirdan at gmail dot com
Summary: 'Could not open input file' error message goes to
STDOUT
-Status: Feedback
+Status: Open
Type: Bug
Package: CGI/CLI related
Operating System: Debian GNU/Linux
PHP Version: 5.4.15
Block user comment: N
Private report: N
New Comment:
Even though display_errors is set to STDOUT by default in php 5.3.25:
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -i -n | grep
display_errors
display_errors => STDOUT => STDOUT
(and display_startup_errors are off):
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -i -n | grep
display_startup
display_startup_errors => Off => Off
weirdan@367-dsividov:~/Downloads$
the following
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -n $(tempfile).php
2>/dev/null
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -n $(tempfile).php
Could not open input file: /tmp/fileLHIKSE.php
weirdan@367-dsividov:~/Downloads$
clearly shows that startup errors are actually going to STDERR
But even I specify errors should go to STDERR, they go to STDOUT in php >=
5.4.0:
weirdan@367-dsividov:~/Downloads$ for dir in `ls -d php-5* | grep -v tar`; do
echo -n "$dir: "; $dir/sapi/cli/php -ddisplay_errors=STDERR -
ddisplay_startup_errors=0 -n $(tempfile).php 2>/dev/null; echo; done;
php-5.3.25:
php-5.4.0: Could not open input file: /tmp/filedhceXV.php
php-5.4.15: Could not open input file: /tmp/fileUv3FxW.php
php-5.4.7: Could not open input file: /tmp/fileBH6TsZ.php
weirdan@367-dsividov:~/Downloads$
to me it seems that startup errors started to go to STDOUT (regardless of
display_errors and display_startup_errors value) in php-5.4.x and you can't
really control it through either
display_errors or display_startup_errors:
weirdan@367-dsividov:~/Downloads$ php-5.4.0/sapi/cli/php -
ddisplay_startup_errors=STDERR -ddisplay_errors=STDERR -i | egrep
'(display_errors|display_startup_errors|error_log)'
display_errors => STDERR => STDERR
display_startup_errors => Off => Off
error_log => no value => no value
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -
ddisplay_startup_errors=STDERR -ddisplay_errors=STDERR -i | egrep
'(display_errors|display_startup_errors|error_log)'
display_errors => STDERR => STDERR
display_startup_errors => Off => Off
error_log => no value => no value
weirdan@367-dsividov:~/Downloads$ php-5.4.0/sapi/cli/php -n -
ddisplay_startup_errors=STDERR -ddisplay_errors=STDERR $(tempfile).php
2>/dev/null
Could not open input file: /tmp/file7laZhC.php
weirdan@367-dsividov:~/Downloads$ php-5.3.25/sapi/cli/php -n -
ddisplay_startup_errors=STDERR -ddisplay_errors=STDERR $(tempfile).php
2>/dev/null
weirdan@367-dsividov:~/Downloads$
Previous Comments:
------------------------------------------------------------------------
[2013-05-23 18:30:40] [email protected]
This is controlled by the display_errors and error_log configuration variables:
what do you get on each version if you run php -i | egrep
'(display_errors|error_log)' ?
For example, I get:
adamh@swiftdesk7:/tmp$ php -i | egrep '(display_errors|error_log)'
display_errors => STDOUT => STDOUT
error_log => no value => no value
And as you'd expect, errors are output to stdout.
------------------------------------------------------------------------
[2013-05-20 14:13:49] weirdan at gmail dot com
Those folders contain vanilla PHP code, with NO Debian patches applied.
------------------------------------------------------------------------
[2013-05-20 14:08:21] weirdan at gmail dot com
Description:
------------
Error messages in CLI should go to STDERR. This was the case with 5.3.x, but it
doesn't seem to be the case with 5.4.*
Test script:
---------------
#!/bin/bash
for dir in `ls -d php-5*|grep -v tar`; do
echo -n "$dir: ";
# the following line should output nothing
$dir/sapi/cli/php -n $(tempfile).php 2>/dev/null;
echo;
done
Expected result:
----------------
php-5.3.25:
php-5.4.0:
php-5.4.15:
php-5.4.7:
Actual result:
--------------
php-5.3.25:
php-5.4.0: Could not open input file: /tmp/filelm8WcG.php
php-5.4.15: Could not open input file: /tmp/filehmMkOG.php
php-5.4.7: Could not open input file: /tmp/fileSfJZ4E.php
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64882&edit=1