温馨提示×

Ubuntu中PHP错误怎么调

小樊
43
2026-08-12 08:10:06
栏目: 编程语言

在 Ubuntu 下调试 PHP 错误,通常从 开启错误显示、查看日志、确认 PHP 运行环境 这几步入手。下面按常见场景给你一个实用清单。


一、快速开启 PHP 错误显示(开发环境)

1️⃣ 修改 php.ini

先找到你正在用的 php.ini

php -i | grep "Loaded Configuration File"

常见路径:

  • /etc/php/8.1/apache2/php.ini
  • /etc/php/8.1/cli/php.ini
  • /etc/php/8.1/fpm/php.ini

编辑对应文件:

sudo nano /etc/php/8.1/apache2/php.ini

修改或取消注释以下内容:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log

重启服务:

sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm

二、当前脚本中临时开启(最快)

在 PHP 文件顶部加:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

✅ 适合快速调试
❌ 生产环境不要用


三、查看 PHP 错误日志(非常重要)

1️⃣ Apache 环境

sudo tail -f /var/log/apache2/error.log

2️⃣ Nginx + PHP-FPM

PHP-FPM 日志:

sudo tail -f /var/log/php8.1-fpm.log

或:

sudo tail -f /var/log/nginx/error.log

3️⃣ 自定义 PHP 错误日志

sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log

四、确认 PHP 运行方式(很关键)

不同运行方式,错误位置不同:

运行方式 错误位置
Apache + mod_php apache2/error.log
Nginx + PHP-FPM php-fpm.log / nginx/error.log
CLI 直接输出或 /var/log/syslog

查看 PHP 运行方式:

php -S localhost:8000

或:

php -i | grep "Server API"

五、常见 PHP 错误 & 排查

❌ 白屏(无任何输出)

通常是:

  • display_errors = Off
  • 致命错误(Fatal error)

✅ 解决:

  • 开启错误显示
  • 查看 error.log

❌ 500 Internal Server Error

Nginx 常见原因:

  • PHP-FPM 没启动
  • PHP 语法错误
sudo systemctl status php8.1-fpm

❌ 页面空白但日志有错误

PHP Parse error: syntax error

✅ 检查:

  • 漏写 ;
  • 错误使用 {}

六、生产环境建议(安全)

display_errors = Off
log_errors = On
error_reporting = E_ALL

错误只写日志,不显示给用户。


七、调试工具(进阶)

✅ 强烈推荐:

  • Xdebug(断点调试)
  • var_dump() + die
  • error_log(print_r($var, true))

安装 Xdebug:

sudo apt install php8.1-xdebug

八、我可以更具体帮你

你可以直接贴:

  • Ubuntu 版本
  • PHP 版本
  • Apache / Nginx
  • 报错内容或截图

我可以一步一步帮你定位 ✅

0