Nginx + fastcgi 运行 PHP 脚本,但它一直告诉我“文件未找到”

Nginx + fastcgi 运行 PHP 脚本,但它一直告诉我“文件未找到”

以下是服务器块中的部分配置:

我无法执行任何 php 脚本,我test.php在 /var/html 下放置了一个名为 的文件,但是当我指向 时http://localhost/test.php,我得到了结果:

File not found.

这不是由 nginx 生成的,因为它与 nginx 的 404 页面不同。

location / {
    root   /var/html;
    index  index.html index.htm;
}

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php; 
        fastcgi_intercept_errors on;
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include        fastcgi.conf;
    }

我是否遗漏了什么?

答案1

您正在位置下定义文档根目录/,但这不适用于\.php$位置。将root指令移出/位置,以便它同时适用于两者。

root   /var/html;
location / {
    index  index.html index.htm;
}
location ~ \.php$ {
    ...
}

相关内容