Bug #62381 [Opn]: FPM doesn't handle Apache script_filename on Windows
Edit report at https://bugs.php.net/bug.php?id=62381&edit=1
ID: 62381
User updated by: dave at yougeezer dot co dot uk
Reported by: dave at yougeezer dot co dot uk
Summary: FPM doesn't handle Apache script_filename on Windows
Status: Open
Type: Bug
Package: CGI/CLI related
Operating System: Windows XP
PHP Version: 5.4.4
Block user comment: N
Private report: N
New Comment:
Ah, thanks for clearing that up. That explains the fact that there aren't any
extra php processes being launched. Doesn't explain the issue with no input file
being specified as I'd have though #54152 would have fixed the path issue of
Apache not passing SCRIPT_FILENAME correctly.
Shame about libevent holding FPM back on Windows, maybe the work being done with
libuv could be of use?
Previous Comments:
------------------------------------------------------------------------
[2012-06-27 10:10:19] ab@php.net
You use c:\php54\php-cgi.exe which runs clearly in FastCGI mode. No FPM is going under Win as it
uses libevent (saw some people playing with cygwin, but that's tricky stuff anyway). This looks
more like a configuration issue in your apache after all.
------------------------------------------------------------------------
[2012-06-21 12:56:55] dave at yougeezer dot co dot uk
There seems to be, I have FPM working fine with the nginx Windows port and PHP
5.4.4.
Here's an example of the config I used for nginx:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9054;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME c:/nginx-1.2.1/html/$fastcgi_script_name;
include fastcgi_params;
}
Plus the "-b IP:Port" argument is there... but I didn't see any new php-cgi
processes created to handle requests.
------------------------------------------------------------------------
[2012-06-21 12:41:57] pajoye@php.net
There is no FPM on windows.
------------------------------------------------------------------------
[2012-06-21 09:55:14] dave at yougeezer dot co dot uk
Description:
------------
When running PHP using the FPM support, it doesn't appear to process the
script_filename environmental variable passed by Apache (using mod_proxy_fcgi).
This is probably related to #54152
Running a tool that monitors file access the following path is checked:
C:\php54\proxy:fcgi:\127.0.0.1:9054\c:\Apache24\htdocs\
Don't fully understand how PHP handles this but tried setting
APACHE_PROXY_FCGI_PREFIX to various different values by using:
SetEnv APACHE_PROXY_FCGI_PREFIX "proxy:fcgi:\\"
...in the Apache configuration file. But it didn't appear to have any effect.
Test script:
---------------
Apache conf:
ProxyPass / fcgi://127.0.0.1:9054/c:/Apache24/htdocs/php54
PHP startup:
c:\php54\php-cgi.exe -b 127.0.0.1:9054 -c c:\php54\php.ini
Expected result:
----------------
c:\Apache24\htdocs\
Actual result:
--------------
C:\php54\proxy:fcgi:\127.0.0.1:9054\c:\Apache24\htdocs\
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62381&edit=1
Thread (9 messages)