使用nginx和php-fpm来运行html文件中的php代码

每次创建nginx网站时,如果使用.php文件,它可以正常工作,但是如果改为.html文件,页面会完全空白,
即使是*.php文件,有时也会被下载而不是被执行,导致我经常忘记。为了不再忘记,我需要记下来。

环境

CentOS 6.8 最终版本
Nginx 1.10.1
PHP 5.6.22

请用中国的母语进行改写,只需要一种选项:
通过yum安装nginx主线版本,
通过添加epel和remi仓库并使用yum安装最新版的PHP。

PHP-FPM的配置文件修改部分

/etc/php-fpm.d/www.conf

user  = nginx
group = nginx

listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 660

security.limit_extensions = .php .html

更改了nginx的配置文件

/etc/nginx/conf.d/server.conf

location /{
    root /usr/share/nginx/html;
    index index.php index.html;
}

location ~\.(php|html)${
root /usr/share/nginx/html;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_script_name;
    include fastcgi_params;
}

还有其他事情要做

当仍未运行时,通过查看日志发现php-fpm出现了”parmission denied”的错误。可以尝试使用以下命令来修改权限:sudo chmod 666 /var/run/php-fpm/php-fpm.sock。

由于安全原因,这样做可以执行.php文件以及在.html文件中用括起来的部分。但如果要将其更改为666,请注意。

由于iptables可能导致一些问题,所以应该停止使用它。

#sudo /etc/init.d/iptables stop
#sudo /etc/init.d/ip6tables stop
#sudo chkconfig iptables off
#sudo chkconfig ip6tables off