前提操作
- 在php同级目录下创建 index.html 看是否能访问
可以访问html,但php仍然出现 file not found
解决方案
location ~ \.php$ {
root /var/www/index;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 172.17.0.3:9000;
}
- 加上 root 项目地址; 这一个配置在当中
出现该问题原因
- 问题就在 nginx 配置文件上
location ~ \.php$ {
root /var/www/index;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 172.17.0.3:9000;
}
- 确保 root 的存在。有些人不用在这里再加root这个配置,是因为它已经在配置文件的外层已经定义了该配置。如楼下所示
server {
listen 80;
server_name 127.0.0.1;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
root /var/www/index;
location / {
index index.php index.html index.htm;
}
...
...
记住不能配在 内层,这样就会导致 $document_root 这个变量在整个配置文件其他范围失效
server {
listen 80;
server_name 127.0.0.1;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/index;
index index.php index.html index.htm;
}
...
...