Edit report at http://bugs.php.net/bug.php?id=54499&edit=1
ID: 54499 User updated by: danger at freebsd dot org Reported by: danger at freebsd dot org Summary: FPM ping and status_path return HTTP 404 even though I get the correct output -Status: Feedback +Status: Assigned Type: Bug Package: FPM related Operating System: FreeBSD PHP Version: 5.3.6 Assigned To: fat Block user comment: N Private report: N New Comment: I'm actually not using tcp between fpm and lighttpd in my setup, here's my config: $HTTP["host"] =~ "^web1$" { fastcgi.server = ( "/php-" => ( ( "socket" => "/tmp/php.sock", "check-local" => "disable", # "fix-root-scriptname" => "enable", # "broken-scriptfilename" => "enable", ) ) ) } I also tried with combinations of "fix-root-scriptname" and "broken-scriptfilename" enabled. Previous Comments: ------------------------------------------------------------------------ [2011-04-09 13:10:26] f...@php.net I've setup a similar env with nginx in front instead of lighttpd. Ping and status pages return 200 and everything works as expected. As you're using TCP between lighttpd and FPM, can you trace the network traffic to verify what FPM returns: tcpdump -X -s 0 -i any host 127.0.0.1 and port 9000 I really think FPM will return 200, and lighttpd converts it somehow in 404. thx for the confirmation ------------------------------------------------------------------------ [2011-04-09 12:15:38] danger at freebsd dot org the same HTTP Status code is returned for status too: danger@[danger-mbp ~]> curl http://web1/php-status pool: www process manager: dynamic accepted conn: 433678 idle processes: 32 active processes: 6 total processes: 38 max children reached: 0 danger@[danger-mbp ~]> curl -I http://web1/php-status HTTP/1.1 404 Not Found Content-type: text/html Date: Sat, 09 Apr 2011 10:15:15 GMT Server: Lighttpd 1.4.x ------------------------------------------------------------------------ [2011-04-09 12:14:18] danger at freebsd dot org Description: ------------ I have set up status_path and ping features and I verified them to give a correct output. However the php-fpm.conf states following: "; This directive may be used to customize the response of a ping request. The ; response is formatted as text/plain with a 200 response code. ; Default Value: pong" Well that is my expectation too, as I would like to use the ping feature together with some health checking, however although it responds with the correct body set in ping.response (set to 1), the HTTP status header is set to 404: danger@[danger-mbp ~]> curl -I http://web1/php-ping HTTP/1.1 404 Not Found Content-type: text/html Date: Sat, 09 Apr 2011 10:08:28 GMT Server: Lighttpd 1.4.x danger@[danger-mbp ~]> curl http://web1/php-ping 1 For this reason my health checking doesn't work correctly as it expects 200 OK. As you can see, I am using lighttpd, with the configuration from the last post from http://redmine.lighttpd.net/boards/2/topics/3923. Expected result: ---------------- HTTP/1.1 200 OK Actual result: -------------- HTTP/1.1 404 Not Found ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=54499&edit=1