ID: 45254 Comment by: s dot tretter at szene1 dot at Reported By: yurtesen at ispro dot net Status: Open Bug Type: CGI related Operating System: FreeBSD 6.3 PHP Version: 5.2.6 New Comment:
sorry, some more information about my software setup: using apache 2.2.6, but preforked. fastcgi 2.4.6, php 5.2.6 but problem exist with all php version i ever used. my compile options for php: './configure' \ '--enable-fastcgi' \ '--enable-force-cgi-redirect' \ '--with-pcre-regex' \ '--without-sqlite' \ '--with-mysqli' \ '--with-gd' \ '--with-ttf' \ '--enable-exif' \ '--with-mcrypt' \ '--enable-mbstring' \ '--enable-spl' \ '--prefix=/usr/local/php5' \ '--with-zlib' \ '--enable-gd-native-ttf' \ '--enable-sockets' \ '--enable-soap' \ '--with-apxs2=/usr/local/apache2/bin/apxs' \ "$@" Previous Comments: ------------------------------------------------------------------------ [2008-07-13 21:47:27] s dot tretter at szene1 dot at same problem, php just "hangs" and doesn't exit. the only possible solution to kill all php processes is "killall -9 php-cgi" a simple killall (without -9) doesn't help. no idea what is causing the php process to hang but it doesn't help to increase or decrease the PHP_FCGI_CHILDREN and PHP_FCGI_MAX_REQUESTS variables. no solution found until yet, and I also have to restart apache every day and this is very annoying on a server farm with more than 30 web servers. googled a lot of time, some people say there is a relation between an accepting socket and an loosy internet connection .. in case of a post request the php process could hang if there is no real syn packet or similar... for other bug reports or people with similar problems just ask google for "fastcgi php hang" ng sorry for my bad english ;) ------------------------------------------------------------------------ [2008-06-15 16:14:13] ruanchunping at gmail dot com I use lighttpd1.4.19 + php-cgi (5.2.6) @ FreeBSD 7.0 amd64 I found that ,the *POST* request sometimes hangs for ever, the lighttpd status report: ------------ handle-req 59339(time) handle-req 58478 handle-req 57985 ...... ------------ there are over 100 php-cgi processes in this status pre day. i have to restart lighttpd every day. these POST request are posting blog or uploading photos. ------------------------------------------------------------------------ [2008-06-12 22:44:19] yurtesen at ispro dot net Description: ------------ When apache worker mpm and fastcgi and php-cgi are used together, the php-cgi processes sometimes hang and do not exit ever. I tried to backtrace the running process using 'gdb -q -p' [Switching to LWP 100164] 0x28affbe9 in accept () from /lib/libc.so.6 (gdb) backtrace #0 0x28affbe9 in accept () from /lib/libc.so.6 #1 0x28a4193a in accept () from /lib/libpthread.so.2 #2 0x082da06f in fcgi_accept_request () #3 0x082dc345 in main () (gdb) It looks like once PHP enters to function to accept request, it never exits unless instructed to do so. These processes wait idle for hours and when I find them I have to kill them manually. Reproduce code: --------------- Setup apache worker mpm, fastcgi, and php to work together. Load it up with requests and restart/reload server or cancel the requests in the middle (I dont exactly know what is causing this but these are the most probable suspects in my opinion). Sometimes apache process quits without transfering any data to PHP (perhaps browser canceled, server reload/restart etc.) PHP processes stay waiting... The problem does not exist when apache prefork mpm is used... Expected result: ---------------- I expect that PHP would die after max_input_time passses... Actual result: -------------- PHP hangs and waits until killed manually... ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45254&edit=1