使用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