在 Ubuntu 上 PHP 日志报错,一般按下面思路处理和排查:
php --ini
常见位置:
/etc/php/8.1/cli/php.ini/etc/php/8.1/fpm/php.ini查看日志相关配置:
grep -E "error_log|log_errors|display_errors" /etc/php/*/*/php.ini
关键参数:
log_errors = On
error_log = /var/log/php/php_errors.log
display_errors = Off # 生产环境建议 Off
/var/log/php8.1-fpm.log
/var/log/nginx/error.log
或:
/var/log/apache2/error.log
php your_script.php
错误直接输出到终端,或写 error_log 指定文件。
failed to open stream: Permission denied
解决:
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 /var/www/your_project
Class 'xxx' not found
可能是:
sudo apt install php8.1-mysql php8.1-curl php8.1-mbstring
sudo phpenmod mbstring
sudo systemctl restart php8.1-fpm
Allowed memory size exhausted
解决:
memory_limit = 256M
或临时:
php -d memory_limit=512M script.php
php -v
必要时切换版本:
sudo update-alternatives --config php
display_errors = On
error_reporting = E_ALL
改完重启:
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
tail -f /var/log/php/php_errors.log
如果你愿意,可以把具体的报错内容或**Ubuntu + PHP 版本 + Web 服务(Nginx/Apache)**发出来,我可以直接帮你定位。