在Ubuntu中调试PHP错误可按以下步骤进行:
-
查看错误日志
- Apache错误日志:
/var/log/apache2/error.log - Nginx错误日志:
/var/log/nginx/error.log - PHP自定义日志:需在
php.ini中查看error_log配置路径
使用命令:sudo tail -f /path/to/error.log实时查看日志。
- Apache错误日志:
-
开启错误显示(开发环境)
编辑php.ini(路径:/etc/php/{版本号}/{apache2|fpm|cli}/php.ini),设置:display_errors = On error_reporting = E_ALL重启Web服务器(Apache:
sudo systemctl restart apache2;Nginx+PHP-FPM:sudo systemctl restart php{版本号}-fpm)。 -
使用Xdebug进行断点调试
- 安装Xdebug:
sudo apt-get install php-xdebug - 配置
php.ini,添加:zend_extension=xdebug.so xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 - 重启Web服务器,配合IDE(如PhpStorm、VS Code)设置断点调试。
- 安装Xdebug:
-
代码与服务器配置检查
- 检查代码语法、未定义变量等基础错误。
- 确保Nginx/Apache配置正确(如Nginx的
fastcgi_pass指向PHP-FPM)。
-
系统资源监控
使用top或htop命令查看内存、CPU使用情况,排除资源不足导致的错误。
注意:生产环境需关闭display_errors,仅通过日志记录错误。