Tuesday, March 1, 2016

mod fcgid - What could cause apache2 to not run index.php files through PHP FastCGI handler?




I'm trying to run PHP using FastCGI (mod-fcgid) under apache 2 with the worker MPM. I've used this blog post as a reference.



It seems I've got everything working except one thing:



When apache serves index.php implicitly (using mod_dir, I think), it does not use the configured handler for .php files, and just serves the PHP file as if it's static content.



However, when I add the index.php part manually to the URL, it does use the handler correctly and everything seems to work. Other PHP files work fine too.



To clarify:






What could cause this? Any hints are appreciated!






Edit: Some more details: this is on an Ubuntu intrepid system.



I got .php working in FastCGI by adding the two PHP lines to mods-enabled/fcgid.conf, so it now looks like:





AddHandler fcgid-script .fcgi
IPCConnectTimeout 20
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php



Directory indices are configured in mods-enabled/dir.conf:





DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm



I didn't need to put Options +ExecCGI anywhere. Actually, I just tried commenting out the block in sites-enabled/000-default, and FastCGI PHP still works fine, except for implicit index.php


Answer



Oh man, I've been very stupid.



Apparently I just had it misconfigured at one point in time, and my browser had cached the incorrect response.




http://example.com/index.php then worked, probably because I only started trying that after I had gotten FastCGI PHP working, so no incorrect response was in cache.



In other words, the information in my original question is a working configuration for mpm-worker + PHP in mod-fcgid!



Thanks for the effort anyway :-)


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...