From: juro at shaw dot ca Operating system: Windows XP PHP version: 5.2.10RC1 PHP Bug Type: CGI related Bug description: non-portable CGI code (Empty POST data)
Description: ------------ Using a generic web server with a simple CGI support (running on Windows XP), I fail to obtain any $_POST data. However, raw post data are OK. Raw post data is sent to the PHP-CGI.exe via redirected pipe handle. PHP-CGI reads correctly posted raw data using stdin. I suspect the culprit may be with the following PHP source code: File:cgi_main.c Routine:static int sapi_cgi_read_post(char *buffer, uint count_bytes TSRMLS_DC) ... tmp_read_bytes = read(0, buffer + read_bytes, count_bytes - read_bytes); ... Low level i/o functions read,write,open are not 100% portable. The code is most like meant to read stdin. Assuming that file descriptor for stdin is numerically equal to 0 on all platforms is wrong. The code should be probably something like this tmp_read_bytes = read(_fileno(stdin), buffer + read_bytes, count_bytes - read_bytes); -- Edit bug report at http://bugs.php.net/?id=48419&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=48419&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=48419&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=48419&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=48419&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=48419&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=48419&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=48419&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=48419&r=needscript Try newer version: http://bugs.php.net/fix.php?id=48419&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=48419&r=support Expected behavior: http://bugs.php.net/fix.php?id=48419&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=48419&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=48419&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=48419&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=48419&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=48419&r=dst IIS Stability: http://bugs.php.net/fix.php?id=48419&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=48419&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=48419&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=48419&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=48419&r=mysqlcfg