ID: 48803 Comment by: sjoerd-php at linuxonly dot nl Reported By: andrey dot vihrov at gmail dot com Status: Open Bug Type: Output Control Operating System: Gentoo Linux amd64 PHP Version: 5.2.10 New Comment:
Thank you for your bug report. The problem is not that STDERR is affected, but that the script is terminated immediately. Furthermore, it is not specific for printf. time php -r 'echo 'a'; sleep(5);' > /dev/full Expected: real 0m5.030s Actual: real 0m0.030s Your contrived example writes to /dev/full, which obviously fails. Do you have a more real-life example where writing to STDOUT fails? Previous Comments: ------------------------------------------------------------------------ [2009-07-05 10:25:31] andrey dot vihrov at gmail dot com Description: ------------ These functions behave differently if the underlying I/O operation on STDOUT fails. The difference is that STDERR is affected in one case. Configure Command => './configure' '--prefix=/usr/lib64/php5' '--host=x86_64-pc-linux-gnu' '--mandir=/usr/lib64/php5/man' '--infodir=/usr/lib64/php5/info' '--sysconfdir=/etc' '--cache-file=./config.cache' '--with-libdir=lib64' '--with-pcre-regex=/usr' '--enable-cli' '--disable-cgi' '--with-config-file-path=/etc/php/cli-php5' '--with-config-file-scan-dir=/etc/php/cli-php5/ext-active' '--without-pear' '--disable-bcmath' '--with-bz2' '--disable-calendar' '--disable-ctype' '--without-curl' '--without-curlwrappers' '--disable-dbase' '--enable-exif' '--without-fbsql' '--without-fdftk' '--disable-filter' '--disable-ftp' '--with-gettext' '--without-gmp' '--disable-hash' '--disable-ipv6' '--disable-json' '--without-kerberos' '--enable-mbstring' '--with-mcrypt' '--without-mhash' '--without-msql' '--without-mssql' '--with-ncurses' '--with-openssl' '--with-openssl-dir=/usr' '--disable-pcntl' '--disable-pdo' '--without-pgsql' '--disable-posix' '--with-pspell' '--without-recode' '--disable-simplexml' '--disable-shmop' '--without-snmp' '--disable-soap' '--disable-sockets' '--without-sybase' '--without-sybase-ct' '--disable-sysvmsg' '--disable-sysvsem' '--disable-sysvshm' '--without-tidy' '--disable-tokenizer' '--disable-wddx' '--disable-xmlreader' '--disable-xmlwriter' '--without-xmlrpc' '--without-xsl' '--disable-zip' '--with-zlib' '--disable-debug' '--enable-dba' '--without-cdb' '--with-db4' '--disable-flatfile' '--with-gdbm' '--disable-inifile' '--without-qdbm' '--with-freetype-dir=/usr' '--with-t1lib=/usr' '--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--without-xpm-dir' '--with-gd' '--without-mysqli' '--with-readline' '--without-libedit' '--without-mm' '--with-sqlite=/usr' '--enable-sqlite-utf8' > diff php.ini-dist /etc/php/cli-php5/php.ini 474c474 < ;include_path = ".:/php/includes" --- > include_path = ".:/usr/share/php5:/usr/share/php" 491c491 < extension_dir = "./" --- > extension_dir = /usr/lib64/php5/lib/php/extensions/no-debug-non-zts-20060613 560c560 < allow_url_fopen = On --- > allow_url_fopen = Off 1283a1284,1288 > > ; MySQL extensions default connection charset settings > ;mysql.connect_charset = utf8 > ;mysqli.connect_charset = utf8 > ;pdo_mysql.connect_charset = utf8 Reproduce code: --------------- Script #1 #! /usr/bin/php <? fprintf(STDOUT, "stdout\n"); fprintf(STDERR, "stderr\n"); ?> Testcase #2 #! /usr/bin/php <? printf("stdout\n"); fprintf(STDERR, "stderr\n"); ?> Expected result: ---------------- > ./test1.php > /dev/full stderr > ./test2.php > /dev/full stderr > Actual result: -------------- > ./test1.php > /dev/full stderr > ./test2.php > /dev/full > ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48803&edit=1