Unable to access PHP site in subdirectories using IIS7

1

I have IIS7 running locally on my machine, and I've installed PHP 5.6. I placed a file, phpinfo.php, in C:\inetpub\wwwroot\phpinfo.php which simply contains the script <?php @phpinfo(); ?>.

If I navigate to localhost/phpinfo.php I get the desired output.

I'm trying to install phpBB. I've downloaded the files and extracted them here: C:\inetpub\wwwroot\phpBB3\.

The install doc starts off with:

Once all the files have been uploaded to your site, you should point your browser at this location with the addition of /install/. For example, if your domain name is www.example.com and you placed the phpBB files in the directory /phpBB3 off your web root you would enter http://www.example.com/phpBB3/install/ or (alternatively) http://www.example.com/phpBB3/install/index.php into your browser. When you have done this, you should see the phpBB Introduction screen appear.

However, if I navigate to localhost/phpBB3/install or localhost/phpBB3/install/index.php I'm presented with this error:

HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Error Code 0x8007000d

Requested URL http://localhost:80/phpBB3/install/index.php

Physical Path C:\inetpub\wwwroot\phpBB3\install\index.php

I've confirmed the file exists:

enter image description here

The only SO post I could find of value is here: https://stackoverflow.com/a/190877/1189566 and the forum linked in the answer is blocked by my work's web filters, naturally.

I've never had to install PHP before, so I'm sure I'm just doing something dumb with my config files but I don't know what.

These are the values I changed: fastcgi.impersonate = 1, cgi.fix_pathinfo = 0, cgi.force_redirect = 0, open_basedir = C:\inetpub\wwwroot\, extension_dir = "./ext", and I found a recommendation to comment out the doc_root setting on the Microsoft forums. That did not make a difference.

Any ideas as to why I can execute PHP scripts in C:\inetpub\wwwroot\ but no subdirectories?

Edit;

I found this link: https://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis

And that's pretty much what I did the first time. It also suggests I create that script which just calls phpinfo(), which is successful. However, it then says

NOTE: If you do not see FastCgiModule in the Modules: list, the module is either not registered or not enabled.

But this is all I see, assuming I'm looking at the right section:

enter image description here

The IIS config file it mentions next located at %windir%\windows\system32\config\applicationHost.config does not exist for me.

php
iis-7
asked on Stack Overflow Oct 4, 2016 by sab669 • edited May 23, 2017 by Community

1 Answer

0

Have you looked into the NTFS permissions on other directories? I've had the exact same issue before with ASP and it would only allow me to run scripts in the wwwroot.

I tried to find the same reference which helped me but found this link instead which is even better:

https://forums.iis.net/t/1200871.aspx?+php+file+on+folder+under+wwwroot+refuses+to+run

answered on Stack Overflow Oct 4, 2016 by Kitson88

User contributions licensed under CC BY-SA 3.0