phpfpm nginx file not found 终结

前提操作

  • 在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;
    }
    ...
    ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章