ID: 27201 Updated by: [EMAIL PROTECTED] Reported By: lars at erhardsen dot dk -Status: Open +Status: Feedback Bug Type: Program Execution Operating System: debian woody PHP Version: 4.3.4 New Comment:
Can you produce the problem with 4.3.4 CLI binary? What apache2 error? Compile time? or what?? Previous Comments: ------------------------------------------------------------------------ [2004-02-10 08:56:16] lars at erhardsen dot dk With the new source, and the following code, I cannot reproduce the error. My concern is now, that it is caused by apache2 - but the strange thing is, that on the slow machine, this error doesn't occur. The apache2handler seems broken( or maybe I cannot compile it - error 40 ;o)) so I cannot check it with the apache server... The code: <? $i = 0; while ($i < 10000) { echo $i . ": "; system ( "hostname" ); echo " | "; $a = exec ( "uptime" ); $b = split(',', $a); $c = split('up', $b[0]); $d = split(':', $b[3]); echo $c[1] . " | " . $d[1] . ", " . $b[4] . ", " . $b[5]; echo "\r\n"; $i++; } ?> ------------------------------------------------------------------------ [2004-02-10 07:59:26] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip And use this configure line (and run the script with sapi/cli/php binary): # ./configure --disable-all --disable-cgi --enable-debug ------------------------------------------------------------------------ [2004-02-10 04:35:02] lars at erhardsen dot dk HT is available, but not enabled. The kernel is compiled as UNIprocessor (or what it's called) ------------------------------------------------------------------------ [2004-02-10 04:29:08] [EMAIL PROTECTED] If hyperthreading is available and on, turn it off and then try the same thing again. It's known to cause some problems with older linux kernels. ------------------------------------------------------------------------ [2004-02-10 03:45:53] lars at erhardsen dot dk Description: ------------ I think, I have a similar problem as #11023 - where exec() does not wait for program completion. The scenary is: Linux 2.4.22, Apache 2.0.48, PHP 4.3.4 on a Pentium 4, 2.4ghz, 512 mb ram The page continues without the 'output' from exec thus leaving an incomplete page. If I press f5/refresh, some times it works, other times it does not work. I have also placed sleeps between commands to ensure it works well, but imho this should not be nescessary - as this "bug" does not appear on a slower machine. My php config: ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-gd=/usr/local --with-pdflib=/usr/local --with-mysql --with-config-file-path=/etc/apache2 --with-session --with-zlib-dir=/usr --with-png-dir=/usr/lib --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-tiff-dir=/usr --with-system-regex=yes --enable-debug=no --with-xml --with-imap-ssl=/usr/local/imap-2002d --enable-exif --with-openssl --with-gettext --enable-ftp --enable-sysvsem --enable-sysvshm --enable-calendar --enable-bcmath --enable-sockets --enable-track-vars --with-mcrypt --enable-gd-native-ttf --enable-mbstring --enable-gd-native-ttf My Apache config: ./configure --enable-ssl --enable-rewrite --enable-so --enable-info --enable-suexec --with-suexec-caller=nobody --enable-dav --enable-deflate Reproduce code: --------------- system ( "hostname" ); echo " | "; $a = exec ( "uptime" ); $b = split(',', $a); $c = split('up', $b[0]); $d = split(':', $b[3]); echo $c[1] . " | " . $d[1] . ", " . $b[4] . ", " . $b[5]; Expected result: ---------------- maxmotor | 75 days | 0.00, 0.00, 0.00 Actual result: -------------- Some times, nothing is returned ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27201&edit=1