加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

php – Nginx错误日志无效

发布时间:2020-12-13 21:08:50 所属栏目:Nginx 来源:网络整理
导读:我已经尝试了很多东西,但无法使错误日志工作,但访问日志工作正常. 这里提到的解决方案对我不起作用: http://mailman.nginx.org/pipermail/nginx/2009-February/009567.html(尝试将错误视为error_log pram 没有运气) http://forum.nginx.org/read.php?2,5844

我已经尝试了很多东西,但无法使错误日志工作,但访问日志工作正常.

这里提到的解决方案对我不起作用:

http://mailman.nginx.org/pipermail/nginx/2009-February/009567.html(尝试将错误视为error_log pram – 没有运气)

http://forum.nginx.org/read.php?2,58447(停止nginx后没有过时的过程)

这是虚拟主机信息:

server {
        server_name .qa.domain.ca;
        root /var/www/qa.domain.ca;
        access_log /var/log/nginx/qa.domain.ca/access.log;
        error_log /var/log/nginx/qa.domain.ca/error.log;
        index index.html index.htm index.php;

        # redirect to non-www
        if ($host ~* ^www.(.*)){
                set $host_without_www $1;
                rewrite ^/(.*)$$scheme://$host_without_www/$1 permanent;
        }

    if (-d $request_filename){
                rewrite ^/(.*[^/])$/$1/ permanent;
        }
        location / {
                # First attempt to serve request as file,then
                # as directory,then fall back to index.html
                try_files $uri $uri/ /index.php;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }
        location ~ .php${
                if (!-f $request_filename) {
                        return 404;
                }
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
                include fastcgi_params;
        }
}
最佳答案
你的设置,可能是基于野外的许多过时的博客文章之一,是低效的.

这是一个更好的设置:

server {
    server_name www.qa.domain.ca;
    # redirect to non-www
    return 301 http://qa.domain.ca$request_uri;      
}

server {
    server_name qa.domain.ca;
    root /var/www/qa.domain.ca;
    access_log /var/log/nginx/qa.domain.ca/access.log;
    error_log /var/log/nginx/qa.domain.ca/error.log;
    index index.html index.htm index.php;

    # Using "if" for redirection is inefficient as every request will be tested
    # Also,the "-d" test is redundant given the use of "try_files" below

    location / {
        # First attempt to serve request as file,then
        # as directory,then fall back to index.html
        try_files $uri $uri/ /index.php;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }
    location ~ .php${
        # This "if" block will work as long as every php file physically exists
        # and you don't use a php app that uses rewriting of pseudo files
        # I personally prefer to use "location ~ ..*/.*.php${ return 400; }"
        if (!-f $request_filename) {
            return 404;
        }
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
        include fastcgi_params;
    }
}

至于error_log查询,没有理由不能使用任何一个配置.

****编辑****
似乎可能有原因导致日志记录失效:https://bugs.php.net/bug.php?id=61045

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读