继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Nginx下html文件嵌入php语句

隔江千里
关注TA
已关注
手记 165
粉丝 37
获赞 179

问题:

在nginx中html文件嵌入了php语句,造成无法访问以及访问html文件只显示html标签内容而不输出php部分内容. 

 

配置过程:

nginx配置server,站点下有一个c.html,文件内容如下

<html>hello html </html>

<?php echo "hello php" ; ?>

 

访问c.html文件时,只显示<html>标签内的内容.而没有显示出php语句中的echo.

wKioL1NN7nqDM5mZAABgOUY9ymo773.jpg

在nginx配置文件server下加入html文件交给本地php-fpm处理解析

        location ~ .*\.html$ {

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        include        fastcgi_cgi;

                }

再次访问c.html文件时,前台页面显示 

wKioL1NN7pWB9QsfAABkSJeUwQM342.jpg

 

 

解决思路:

查看nginx日志文件 error.log

发现有报错内容为:

2014/04/16 09:53:43 [error] 10626#0: *274 FastCGI sent in stderr: "Access to the script '/home/web/test.zrer.com/c.html' 

has been denied (see security.limit_extensions)" while reading response header from upstream, client: 116.226.237.182, 

server: test.zrer.com, request: "GET /c.html HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "test.zrer.com"

 

查看php-fpm文件

wKiom1NN7trQXmcSAAH2FijfYBw151.jpg

发现是php配置问题,在php-fpm配置文件内有see security.limit_extensions这项,默认只允许解析扩展名为.php的文件,造成其他文件不可解析.

 

解决办法:

修改php-fpm文件, 去掉;security.limit_extensions = .php .php3 .php4 .php5前面的注释号,在最后添加.html类型文件 

wKioL1NN7sSBX_hmAAIKsiYBMwQ499.jpg

 

重启php-fpm 服务

[root@localhost ~]# killall php-fpm

[root@localhost ~]#  /usr/local/lnmp/php/sbin/php-fpm

 

再次访问c.html

wKioL1NN7uGCvafeAAB12NpxtcM637.jpg

 

问题解决.


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP