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] ahar...@php.net

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

Reply via email to