在 Ubuntu 中配置 PHP 错误报告级别,可以通过修改 php.ini 文件来实现。以下是详细步骤:
php.ini 文件Ubuntu 系统中通常有两个主要的 php.ini 文件:
php -i 或通过脚本运行 PHP)。php.ini打开终端并运行以下命令:
php --ini
输出示例:
Configuration File (php.ini) Path: /etc/php/8.1/cli
Loaded Configuration File: /etc/php/8.1/cli/php.ini
Scan for additional .ini files in: /etc/php/8.1/cli/conf.d
Additional .ini files parsed: /etc/php/8.1/cli/conf.d/10-opcache.ini,
/etc/php/8.1/cli/conf.d/20-bz2.ini,
/etc/php/8.1/cli/conf.d/20-calendar.ini,
...
php.ini对于 Apache:
sudo apache2ctl configtest
输出示例:
Syntax OK
然后查看 Apache 的配置文件(通常位于 /etc/apache2/apache2.conf 或 /etc/apache2/sites-available/000-default.conf),查找类似以下的行:
PHPIniDir /etc/php/8.1/apache2
对于 Nginx(使用 PHP-FPM):
sudo nginx -t
输出示例:
syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
然后查看 Nginx 的配置文件(通常位于 /etc/nginx/sites-available/default),查找 fastcgi_pass 指向的 PHP-FPM 配置文件(通常位于 /etc/php/8.1/fpm/pool.d/www.conf),查看 php_value[error_log] 和 php_admin_value[error_reporting] 等设置。
php.ini 文件使用你喜欢的文本编辑器打开相应的 php.ini 文件。例如,使用 nano:
sudo nano /etc/php/8.1/cli/php.ini # 对于 CLI 版本
# 或者
sudo nano /etc/php/8.1/apache2/php.ini # 对于 Apache 版本
# 或者
sudo nano /etc/php/8.1/fpm/pool.d/www.conf # 对于 Nginx + PHP-FPM 版本
在 php.ini 文件中找到以下指令并进行修改:
; 设置错误报告级别
error_reporting = E_ALL
; 是否显示错误
display_errors = Off
; 是否记录错误到日志
log_errors = On
; 错误日志文件的位置
error_log = /var/log/php_errors.log
E_ALL:显示所有错误和警告。E_ERROR:致命运行时错误。E_WARNING:运行时警告(非致命)。E_PARSE:编译时解析错误。E_NOTICE:运行时通知(建议改进的地方)。根据你的需求调整 error_reporting 的值。例如,如果你只想显示错误而不显示通知,可以设置为:
error_reporting = E_ALL & ~E_NOTICE
如果你希望 Web 页面上显示错误信息,可以将 display_errors 设置为 On。但请注意,在生产环境中不建议这样做,因为会暴露敏感信息。
display_errors = On
如果你使用的是 nano,按 Ctrl + O 保存,然后按 Ctrl + X 退出。
修改配置后,需要重启相应的 Web 服务器以使更改生效。
sudo systemctl restart apache2
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
创建一个 PHP 文件(例如 info.php)放在你的 Web 服务器根目录下,内容如下:
<?php
phpinfo();
?>
通过浏览器访问该文件(如 http://your_server_ip/info.php),查看 PHP 配置信息中的 error_reporting 和 display_errors 是否已按预期更改。
有时,可能会有多个 php.ini 文件被加载,特别是在使用多个 PHP 版本或通过不同的包管理器安装时。你可以使用以下命令查看所有加载的 php.ini 文件:
php --ini
确保在所有相关的 php.ini 文件中都进行了正确的配置。
通过以上步骤,你可以在 Ubuntu 系统中成功配置 PHP 的错误报告级别。根据实际需求调整 error_reporting 和相关设置,以确保开发和生产环境的安全性和稳定性。