Bug #75120 [Com]: php fpm returns http status 200 Ok and blank page if script no exist

From: Date: Mon, 30 Apr 2018 07:52:37 +0000
Subject: Bug #75120 [Com]: php fpm returns http status 200 Ok and blank page if script no exist
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-214988@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=75120&edit=1

 ID:                 75120
 Comment by:         mr dot felixoid at gmail dot com
 Reported by:        peter dot volkov at gmail dot com
 Summary:            php fpm returns http status 200 Ok and blank page if
                     script no exist
 Status:             Open
 Type:               Bug
 Package:            FPM related
 Operating System:   Gentoo Linux
 PHP Version:        5.6.31
 Block user comment: N
 Private report:     N

 New Comment:

Here is PR for this problem https://github.com/php/php-src/pull/3227


Previous Comments:
------------------------------------------------------------------------
[2017-08-25 14:41:32] peter dot volkov at gmail dot com

Description:
------------
If we call php-fpm with SCRIPT_FILENAME=/some.php it will return http status 200 and blank page. At
the same time php-fpm's access.log will contain:

24/Aug/2017:21:51:33 +0300 "- " 200 - 3.682 256 0.00% GET

I expect to receive some error message instead.

It looks like this is rather known problem and since error message is not very evident it may take
days to debug it! It's easy to step on this problem since default nginx configuration sometime
has:

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

instead of:

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

And now consider this two cases! In second case if I request notexisting script I'll receive
status 404 with "File not found." in the body. And in the first case:

< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 24 Aug 2017 18:51:33 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=20
< X-Powered-By: PHP/5.6.30-pl0-gentoo
< 
* Connection #0 to host rc.online.telekarta.tv left intact

Status 200 and no body. Why do we have this difference?

And I'm not alone with this problem: http://beutelevision.com/blog2/2013/08/26/nginx-with-php-fpm-generating-blank-page/
and in other places of the internet. 

What is the reason for this behaviour? Can we have this fixed?

Test script:
---------------
No script required.



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=75120&edit=1


Thread (3 messages)

« previous php.bugs (#214988) next »