任何php文件的404错误,使用nginx

时间:2016-08-24 14:47:23

标签: php nginx

我意识到这个问题已被多次提出,但尽管我试图实施各种解决方案,许多人建议我还没有解决我的问题:

无论我做什么,我网站上的任何php文件都会给我404错误。然而,html文件工作得很好。

我的nginx.conf:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POOD$
        ssl_prefer_server_ciphers on;

        access_log /home/****/websites/logs/access.log;
        error_log /home/****/websites/logs/error.log;

        include v-hosts/*.conf;
        #### prevent processing requests with undefined server names
        server  {
                listen 80;
                server_name '';
                return 444;
        }


}

my /etc/nginx/v-hosts/website.com.conf

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /home/*****/websites/website.com/root;
    index index.php index.html index.htm;

    server_name website.com www.website.com;

    location / {
        try_files $uri $uri/ =404;
        root /home/****/websites/website.com/root;
        index index.php index.html index.html;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /home/****/websites/website.com/root;
    }

    location ~ \.php$ {
        root /home/****/websites/website.com/root;
        try_files $uri =404;

        fastcgi_pass unix:/run/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        }
}
  • 我在 php.ini
  • 中设置了cgi.fix_pathinfo=0
  • 我有一个 index.php 以及/ home / **** / websites / website.com / root
  • 中的 info.php

谢谢

1 个答案:

答案 0 :(得分:2)

我已经成功修复了我的问题!在访问/home/****/websites/logs/error.log中的错误日志后,我意识到我的路径fastcgi_pass unix:/run/php7.0-fpm.sock;是错误的。我已将其更改为fastcgi_pass unix:/run/php/php7.0-fpm.sock;,现在页面显示正确!

`