'问题是当我尝试运行php文件时,nginx会下载php文件而不是执行它'
过去几年,论坛和网络上都出现了上述变化 我有这个问题。
我已经尝试了很多方法来让nginx执行一个php文件,包括:
使用试用文件/不使用试用文件
检查并重新检查文件权限
包括fastcgi.conf而不是fastcgi_params
HttpDavModule vs no HttpDavModule
注释重载信号USR2
php.ini file = 1 vs 0
TCP与Unix套接字
当然还有清除浏览器缓存。
运行nginx -t或status,或者就php5-fpm而言相同 - 我没有收到任何错误。
我在Debian 8上试过它 - 不行。
我现在正在使用Ubuntu 15.04 使用php.info文件我得到5.6.4-4ubuntu6.4
你似乎无法从Nginx中得到答案,我也试过了。 LEMP服务器工作正常 - 只是不用PHP。
我所说的只是一个简单的Php文件,如:
<form id="form1" name="form1" method="post" action="process.php">
在这种情况下,我会得到一个数字,但我只是得到了PHP代码本身:即出现的数字是$ result
所以我认为它是一个Nginx的东西,但我似乎记得在某处读到一些关于如何在php文件中添加一行或两行以使其在Nginx中工作的东西。
我尝试过的最后一件事(很多)都来自 http://www.unixmen.com/how-to-install-lemp-stack-on-ubuntu-15-04/
有问题的部分(或不是每个人都同意这里的内容)是
location ~ \.php$ {
try_files $uri =404; ---------> Add this line
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
然而,当LEMP服务器工作时,php文件没有执行。