Ubuntu PHP运行时错误怎么办
导读:Ubuntu 下 PHP 运行时错误的排查与修复 一 快速定位 查看错误日志: Apache:/var/log/apache2/error.log Nginx:/var/log/nginx/error.log PHP-FPM:/var/...
Ubuntu 下 PHP 运行时错误的排查与修复
一 快速定位
- 查看错误日志:
- Apache:/var/log/apache2/error.log
- Nginx:/var/log/nginx/error.log
- PHP-FPM:/var/log/php-fpm.log 或 /var/log/php7.x-fpm.log(将 7.x 替换为你的版本)
- 实时跟踪:sudo tail -f /var/log/apache2/error.log(或对应日志)
- 在 CLI 下快速定位语法与常见错误:
- 查看版本:php -v
- 语法检查:php -l /path/to/file.php
- 列出已启用扩展:php -m
- 定位配置文件:php --ini(会显示加载的 php.ini 路径,注意区分 CLI 与 FPM/Apache 使用的不同 php.ini)
二 常见场景与修复
- 502 Bad Gateway(Nginx + PHP-FPM):
- 检查服务状态:sudo systemctl status php7.x-fpm
- 启动并设为开机自启:sudo systemctl start php7.x-fpm & & sudo systemctl enable php7.x-fpm
- 核对 Nginx fastcgi_pass 与 FPM 监听一致:
- Unix 套接字:fastcgi_pass unix:/run/php/php7.x-fpm.sock;
- 或 TCP 端口:fastcgi_pass 127.0.0.1:9000;
- 重启 Nginx:sudo systemctl restart nginx
- 权限与所有权:
- Web 目录常见属主为 www-data:www-data,权限建议文件 644、目录 755
- 示例:sudo chown -R www-data:www-data /var/www/html & & sudo chmod -R 755 /var/www/html
- 缺少扩展:
- 安装所需扩展(按需):sudo apt install php-mysql php-gd php-mbstring
- 安装后重启对应服务(Apache 或 PHP-FPM)
- 配置不当(如内存不足):
- 编辑 php.ini(路径以 php --ini 为准),调大内存:memory_limit = 256M
- 保存后重启服务使配置生效
三 临时显示错误便于开发调试
- 在入口或调试脚本顶部临时开启:
- ini_set(‘display_errors’, 1);
- ini_set(‘display_startup_errors’, 1);
- error_reporting(E_ALL);
- 注意:仅用于开发环境,生产环境应关闭显示错误,改为记录到日志。
四 修改配置后的生效与验证
- 重启服务:
- Apache:sudo systemctl restart apache2
- Nginx:sudo systemctl restart nginx
- PHP-FPM:sudo systemctl restart php7.x-fpm
- 验证:
- CLI 验证:php -v、php -m、php -l your.php
- Web 验证:创建测试文件 info.php(内容为 ),访问确认解析正常
五 仍未解决时的建议
- 核对 PHP 版本与扩展是否匹配项目要求(php -v、php -m)。
- 复核 Nginx 重写规则与 fastcgi_pass 地址/套接字是否与 PHP-FPM 一致。
- 查看更详细的 FPM 日志(/var/log/php7.x-fpm.log)与 Web 服务错误日志,定位进程级报错。
- 若怀疑安装损坏,可重装 PHP 及扩展后复测:
- 示例:sudo apt-get purge php* & & sudo apt-get install php
- 测试:info.php 是否能正常显示。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu PHP运行时错误怎么办
本文地址: https://pptw.com/jishu/766584.html
