以下是服务器块中的部分配置:
我无法执行任何 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$ {
...
}