温馨提示×

如何调试debian lamp

小樊
36
2026-09-23 02:03:08
栏目: 智能运维

在 Debian 上调试 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境,通常要分层排查:系统 → Apache → PHP → 数据库 → 应用代码。下面给你一套实用调试思路。


一、基础检查

1. 服务状态

systemctl status apache2
systemctl status mariadb   # 或 mysql

启动/重启:

sudo systemctl restart apache2
sudo systemctl restart mariadb

2. 防火墙

sudo ufw status

确保 80 / 443 开放:

sudo ufw allow 80
sudo ufw allow 443

二、Apache 调试

1. 查看错误日志

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

访问页面时观察是否有:

  • 403 Forbidden
  • 404 Not Found
  • 500 Internal Server Error

2. 检查站点配置

ls /etc/apache2/sites-enabled/

测试配置:

apache2ctl configtest

3. 常见 Apache 问题

  • 目录权限不足:
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
  • 未启用 PHP:
a2enmod php8.2   # 根据实际版本
systemctl restart apache2

三、PHP 调试

1. 确认 PHP 已安装并启用

php -v

测试 PHP 是否生效(在 /var/www/html 下):

<?php phpinfo(); ?>

访问 http://服务器IP/info.php

2. 查看 PHP 错误

编辑:

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

确保:

display_errors = On
error_reporting = E_ALL
log_errors = On

重启 Apache:

sudo systemctl restart apache2

3. PHP 日志

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

四、MySQL / MariaDB 调试

1. 能否登录

mysql -u root -p

若失败:

sudo mysql

2. 授权问题

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON db.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

3. PHP 连数据库失败

常见原因:

  • 用户名/密码错误
  • 数据库不存在
  • 未安装 PHP 数据库扩展:
sudo apt install php-mysql
sudo systemctl restart apache2

五、应用层调试

1. 打开应用调试模式

如 WordPress / Laravel / 自建 PHP:

  • 查看 .env
  • 打开 debug
  • 查看应用日志目录

2. 浏览器调试

  • F12 → Network / Console
  • 查看 500 / 404 响应

六、快速排错清单 ✅

  • [ ] Apache 正常运行
  • [ ] PHP 页面能解析
  • [ ] 数据库能连接
  • [ ] 文件权限正确
  • [ ] 错误日志在监控
  • [ ] 防火墙未拦截

如果你愿意,可以告诉我:

  • Debian 版本
  • Apache / PHP / MySQL 版本
  • 具体报错信息或现象

我可以帮你精确定位问题

0