为了账号安全,请及时绑定邮箱和手机立即绑定

Nginx下html文件嵌入php语句

标签:
PHP

问题:

在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

 

问题解决.


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消