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