23

我正在使用 PHP-FPM 运行 nginx。我用于处理 php 文件的 nginx 配置如下所示:

location  ~ \.php$ {
            set $php_root /home/me/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $php_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }

现在,我有一个简单的 php 文件,如下所示:

<?php
     ech "asd"
     asd""
?>

是的,有一个明显的错误。当我尝试访问 php 文件而不是跟踪语法错误时,我总是得到一个 HTTP 500 内部服务器错误。我尝试使用error_reporting(-1);但它仍然总是返回 HTTP 500。我如何让 PHP 打印确切的错误而不是返回一个通用 HTTP 500?

4

7 回答 7

38

尝试在您的 : 中找到以下行php.ini

 display_errors = Off

然后让它上

于 2010-02-09T06:22:45.867 回答
9

为了发布更完整的答案,我使用了具有 display_errors = Off 的 php.ini 生产版本。我现在所做的不是全局打开它,而是对于我需要错误报告的文件,我ini_set('display_errors', 'On');在文件的开头使用它。

于 2010-03-15T09:19:37.013 回答
5

我也遇到了这个问题,我设置display_errors = Offphp.ini但它不起作用。然后我找到了php[display_errors]=offin php-fpm.conf,它会覆盖的值php.ini并且它可以工作。

于 2012-03-25T14:17:17.053 回答
1

对于 Ubuntu 12.10,在 php-fpm-pool-config 文件中:

php_flag[display_errors] = on

在 php.ini 文件中:

display_errors = On
于 2013-01-24T21:33:43.787 回答
1

显示错误只会影响错误是否打印到输出的事实。

如果您打开了日志错误,除非显示关闭,否则日志中仍然会丢失错误,这不是预期的行为。

预期的行为是,如果打开日志,则会在那里发现错误。如果显示打开,则会在屏幕/输出上发现错误。如果两者都存在错误,则会在两者上找到。

当前版本有一个错误,该错误会导致该错误。

于 2012-08-22T10:14:26.047 回答
1

你可以通过这种方式显示错误:去 php.ini 并找到display_errors,你应该看到display_errors = Off,只需替换OffOn,重新启动 php 并再次运行。

于 2019-04-09T04:32:33.860 回答
0

如果你从 Remi repo php72 安装。它带有 apache| 的默认用户和组

转到您的 www.conf 文件,它找到 /etc/opt/remi/php72/php-fpm.d/www.conf

和改变

user=nginx
group=nginx

在重新启动你的 php fpm 之前

systemctl restart php72-php-fpm

CENTOS REMI PHP7.2

于 2018-10-13T07:17:54.237 回答