提问人:ErJab 提问时间:2/9/2010 更新时间:9/11/2023 访问量:76202
PHP FPM 返回所有 PHP 错误的 HTTP 500 [重复]
PHP FPM returns HTTP 500 for all PHP errors [duplicate]
问:
我正在使用 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 内部服务器错误。如何让 PHP 打印确切的错误而不是返回通用的 HTTP 500?error_reporting(-1);
答:
尝试在您的 :php.ini
display_errors = Off
然后穿上它
评论
error_level
E_ALL
sudo /etc/init.d/php5-fpm restart
为了发布更完整的答案,我使用了 php.ini 的生产版本,其中 display_errors = 关闭。我现在所做的不是全局打开它,而是对于我需要错误报告的文件,我在文件的开头使用。ini_set('display_errors', 'On');
评论
ini_set('display_errors', 'On')
我也遇到了这个问题,我开始了,但它不起作用。然后我找到了 in ,它将覆盖 的值,它可以工作。display_errors = Off
php.ini
php[display_errors]=off
php-fpm.conf
php.ini
评论
php.ini
与配置无关,如果您正在使用,则需要修改 .php-fpm
php-fpm.conf
显示错误只会影响错误是否打印到输出的事实。
如果打开了日志错误,则日志中仍将缺少错误,除非显示处于关闭状态,这不是预期的行为。
预期的行为是,如果日志处于打开状态,则在那里发现错误。如果显示屏打开,则在屏幕/输出上发现错误。如果两者都在,则在两者上都发现错误。
当前版本有一个错误,可以没收它。
评论
对于 Ubuntu 12.10,在 php-fpm-pool-config 文件中:
php_flag[display_errors] = on
在php.ini文件中:
display_errors = On
如果您从 Remi 存储库 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 雷米 PHP7.2
你可以这样显示错误:去php.ini找到,你应该看到,只要替换成,重启PHP再运行。display_errors
display_errors = Off
Off
On
安装缺少的 php 模块对我有用。
sudo apt install php7.2-curl
sudo systemctl restart php7.2-fpm
这解决了我的 php 脚本的日志持久性 HTTP 错误 500。
因此,可以检查应用程序可能需要正常工作的任何缺少的 php 模块。
评论