使用php-fpm + nginx时无法获取错误堆栈跟踪或错误日志

时间:2014-07-08 15:07:13

标签: nginx php php-5.5

我在我的Ubuntu 14.04机器上使用php-fpm 5.5.9和nginx 1.4.6。我使用apt-get包管理器安装了它们。我无法获得我的index.php脚本在错误日志和浏览器中遇到的错误的堆栈跟踪。我搜索并实现了stackoverflow和其他文章中的几个解决方案,但它们都没有为我工作。这是我的nginx conf以及我的php-fpm conf文件。如果我犯了任何愚蠢的错误,请帮帮我。

Nginx配置:

location ~ \.php$ {
        # With php5-fpm:
                #try_files $uri =404;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 600;
        fastcgi_send_timeout 600;
        proxy_connect_timeout  600;
        proxy_send_timeout  600s;
        proxy_read_timeout  600s;
        fastcgi_pass 127.0.0.1:7777;
        fastcgi_index index.php;
    }

PHP-FPM配置:

error_log = /tmp/php5-fpm.log

PHP-FPM池配置:

catch_workers_output = yes 
slowlog = /var/log/php-fpm/$pool.log.slow
listen = 127.0.0.1:7777

php_flag[display_errors] = On 
php_admin_value[error_log] = /tmp/fpm-php.www.log 
php_admin_flag[log_errors] = On

提前致谢。

1 个答案:

答案 0 :(得分:0)

在您的配置中,error_log文件位于/etc/...,但您可能只是在错误的位置。

您是否检查过默认错误日志位置?通常它应该是: /var/log/nginx/* - 那里有一个nginx_error.log文件。可能还有其他日志文件。

另请注意,PHP-FPM和nginx配置配置的语法不同。 检查您是否在任何地方出现此类错误。它可能被错误地解析,从而导致你的错误。

检查错误日志的文件权限。 nginx正在运行用户能够在那里写吗?