Nginx php文件正在下载而不是执行
Posted
技术标签:
【中文标题】Nginx php文件正在下载而不是执行【英文标题】:Nginx php files are downloading instead of execute 【发布时间】:2019-07-21 13:03:56 【问题描述】:我在 CentOs 7 上配置了 Ngnix 服务器,它正在使用 html 查找,但是当我尝试打开 .php 文件时,它会被下载。 我正在使用 PHP7.2。 这是我的配置(我使用的是 123.123.123.123 而不是我的真实 ip):
server
listen [::]:80 default_server ipv6only=on;
listen 123.123.123.123:80 default_server;
root /var/www/example.com/public_html;
index index.php index.html;
server_name 123.123.123.123;
location /
try_files $uri $uri/ =404;
location ~ \.php$
try_files $uri /index.php =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
所以当我尝试访问 123.123.123.123/test/index.php 时,我正在下载文件。
如何强制 ngnix 执行 php 文件?
【问题讨论】:
【参考方案1】:你还需要 fastcgi_pass:
location ~ \.php$
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
【讨论】:
我应该设置什么ip和端口? 由于PHP-FPM在同一台机器上运行,所以127.0.0.1是正确的。端口默认为 9000。请参阅 /etc/php-fpm.d 中的配置文件 是的,这就是工作。谢谢!以上是关于Nginx php文件正在下载而不是执行的主要内容,如果未能解决你的问题,请参考以下文章
nginx + fpm 规则问题;找不到文件或脚本被下载而不是被执行
Nginx + php-fpm下载php文件而不执行[重复]