1. 确认并开启错误报告
在PHP代码中临时开启错误显示(仅用于开发环境),添加以下代码到脚本顶部:
error_reporting(E_ALL); ini_set('display_errors', 1);
这能快速暴露语法错误、变量未定义等问题。生产环境中需关闭显示(display_errors = Off)并通过日志记录错误。
2. 定位并检查PHP错误日志
错误日志是排查问题的核心线索,常见路径包括:
/var/log/php7.x-fpm.log(7.x为具体版本,如7.4);/var/log/apache2/error.log、Nginx的/var/log/nginx/error.log。tail -f命令实时查看日志更新,例如:sudo tail -f /var/log/php7.4-fpm.log。3. 验证PHP配置文件的正确性
通过php --ini命令找到当前PHP使用的php.ini文件路径(如/etc/php/7.4/cli/php.ini或/etc/php/7.4/apache2/php.ini)。
检查配置文件语法:php -l /etc/php/7.4/cli/php.ini(无输出则表示语法正确)。
重点确认以下配置项是否启用:
error_reporting = E_ALL(报告所有错误)、log_errors = On(开启日志记录)、error_log(指定日志文件路径)。
4. 重启相关服务使配置生效
修改配置文件(php.ini、Web服务器配置、PHP-FPM配置)后,需重启对应服务:
sudo systemctl restart php7.x-fpm;sudo systemctl restart apache2;sudo systemctl restart nginx。5. 使用调试工具深入分析
安装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
xdebug.start_with_request=yes
重启PHP服务后,配合PhpStorm、VSCode等IDE设置断点,实现单步执行、变量监控。
6. 检查常见场景问题
Class 'PDO' not found),安装对应模块:sudo apt-get install php7.x-pdo(pdo为模块名),重启PHP-FPM;www-data)对网站目录有读写权限:sudo chown -R www-data:www-data /var/www/html、sudo chmod -R 755 /var/www/html;sudo update-alternatives --config php切换默认版本,重启Web服务器。7. 查看系统日志补充信息
若以上步骤未定位问题,通过journalctl查看系统日志:journalctl -xe,获取更全面的错误上下文(如PHP-FPM崩溃、权限拒绝等)。