5

It seems to be possible to do so in Apache,

include php script inside HTML

But can I make my IIS 7 parse html files for php? Currently my html files allow asp includes like it would be splendid if I could just do that with a php file.

My server runs .php files as you would expect.

What I've tried is adding a Handler Mapping in IIS with the same values as the *.php mapping that was created with my IIS/PHP install, only switched for *.html

This didn't work, then I added a handler in my web.config file

<add name="PHP_via_FastCGI" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" requireAccess="Script" />

like that, and that didn't change anything.

There are no errors when I run an html file with php code in it, the code just simply does not run.

Let's assume that I cannot just simply change my index.html to an index.php.

1 Answer 1

7

I had to get this working for a site migrated from apache to IIS that used a mixture of .php and .html for it's scripts. I have this (cropped useless stuff) in my web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <add name="PHP53_via_FastCGI_HTML" path="*.html" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="File" requireAccess="Script" />
        </handlers>
    </system.webServer>
</configuration>

Have you got it in the right section? I hate that most web.config examples I see don't actually tell you want section they should be in </rant>

Sign up to request clarification or add additional context in comments.

2 Comments

after applying this in web.config I get following error - Handler "PHP53_via_FastCGI_HTML" has a bad module "FastCgiModule" in its module list
Have you got PHP and FastCGI installed? Also, this answer is 4 years old, you may not be on PHP 5.3 anymore. Adjust the name according to your installed FastCGI PHP version.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.