在 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 和相關設置,以確保開發和生產環境的安全性和穩定性。