nginx访问php 被下载文件 (怎样才能让nginx访问php而不被下载文件?)
在使用Nginx作为Web服务器并且运行PHP脚本时,有时会遇到一种情况,即当访问包含PHP代码的文件时,浏览器不会渲染网页,而是直接下载该文件。这种情况通常是由于Nginx没有配置正确的PHP解释器引起的。在本文中,我们将探讨解决此类问题的方法。
首先,我们需要确保已经安装了PHP解释器和相关扩展。可以使用以下命令检查:
php -v
接下来,我们需要在Nginx的配置文件中添加以下代码:
location ~ [^/]\.php(/|$) {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000; #此处需与php-fpm监听的端口一致
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
此段代码实际上是告诉Nginx,在访问PHP文件时使用fastcgipass连接到PHP解释器。而且,它使用fastcgiparam指令将脚本的绝对路径和路径信息传递给PHP解释器。同时,也使用了fastcgi_index指令将默认的索引文件设置为index.php。
最后,重启Nginx和PHP-FPM服务,就可以在浏览器中访问PHP文件了。
总之,当访问PHP文件时,如果你遇到了文件被下载而不是在浏览器中呈现的情况,可以通过检查Nginx的配置文件并添加上述代码来确保Nginx正确地连接到PHP解释器,并将代码解释为网页。