Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML files as PHP in Nginx

For web servers using PHP as apache module:

AddType application/x-httpd-php .html .htm

For web servers running PHP as CGI:

AddHandler application/x-httpd-php .html .htm 

I have an Nginx server and I want to run .js files and and .htm files as PHP, so I will have full PHP code inside them. Anyone know how to configure the Nginx to do this?

like image 363
TheBlackBenzKid Avatar asked Dec 27 '11 12:12

TheBlackBenzKid


2 Answers

Passing to fastcgi didn't work for me. After a few hours of searching, I have found solution here: http://ffct.cc/solving-nginx-php-fpm-access-denied-issue/

In short:

since PHP versions > 5.3.8, to make it works, you should add directive to your php-fpm.conf:

security.limit_extensions = .php .html .js

The recognition sign is "Access denied." (notice that it's different from HTTP error 403) when accesssing .html or .js file.

like image 84
Tom Avatar answered Oct 21 '22 17:10

Tom


Simple; just change

location ~ \.php$ {
        root           html;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

to

location ~ \.(php|html|htm)$ {
        root           html;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param    SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
like image 33
Elliott Veares Avatar answered Oct 21 '22 18:10

Elliott Veares