atikot
atikot

Reputation: 5041

PHP on IIS Displaying php code instead of page

I installed PHP 5.3 on IIS (Windows Server 2008), followed the instructions on http://php.net/manual/en/install.windows.iis7.php

when i am opening php pages now i get the php code instead of the processed page, why does it happens and how do i fix it?

Upvotes: 1

Views: 4083

Answers (1)

unixmiah
unixmiah

Reputation: 3145

If you are seeing your PHP source code in the browser, then it will be something like you are using PHP short tags in your code ( <? instead of <?php ) and you don't have the short_tags directive turned on in php.ini.

The other possibility is your handler mapping is not correct?

Configure IIS to Handle PHP Requests

For IIS to host PHP applications, you must add a handler mapping that tells IIS to pass all PHP-specific requests to the PHP application framework by using the FastCGI protocol. Configure IIS to handle PHP requests by using IIS Manager

  1. Open IIS Manager. At the server level, double-click Handler Mappings.

  2. In the Actions pane, click Add Module Mapping.... In the Add Module Mapping dialog box, specify the configuration settings as follows: Request path: *.php Module: FastCgiModule Executable: "C:[Path to your PHP installation]\php-cgi.exe" Name: PHP via FastCGI

  3. Click OK.

  4. In the Add Module Mapping confirmation dialog box that asks if you want to create a FastCGI application for this executable, click Yes.

  5. Test that the handler mapping works correctly by creating a phpinfo.php file in the C:\inetpub\wwwroot folder that contains the following code:

  1. Open a browser and navigate to //dns-or-ip-to-server/phpinfo.php. If everything was setup correctly, you will see the standard PHP information page.

NOTE: If you do not see FastCgiModule in the Modules: list, the module is either not registered or not enabled. To check if the FastCGI module is registered, open the IIS configuration file that is located at %windir%\windows\system32\config\applicationHost.config and check that the following line is present in the section:

In the same file, also check that the FastCGI module is added to the section:

Upvotes: 3

Related Questions