温馨提示×

怎么调试Debian的LAMP

小樊
42
2026-08-26 01:30:12
栏目: 智能运维

调试 Debian 上的 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 可以按“分层排查”来做。下面给你一套从系统到应用的常用调试流程,适合新手和实战排错。


一、确认基础环境

1. 系统和服务状态

sudo systemctl status apache2
sudo systemctl status mariadb   # 或 mysql

如果服务没起来:

sudo journalctl -xe
sudo systemctl restart apache2
sudo systemctl restart mariadb

二、调试 Apache(Web 服务器)

1. 检查 Apache 是否监听端口

ss -lntp | grep 80

netstat -lntp | grep 80

2. 检查配置文件语法

sudo apache2ctl configtest

常见错误:

  • 端口冲突
  • 虚拟主机配置错误

3. 查看 Apache 错误日志

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

访问网页时实时观察日志,非常关键。


三、调试 PHP

1. 确认 PHP 已安装并与 Apache 关联

php -v

Debian 常见包:

sudo apt install php libapache2-mod-php php-mysql

2. 测试 PHP 是否解析

创建测试文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

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

如果看到源码而不是解析结果:

  • PHP 模块未启用
  • Apache 未加载 mod_php

修复:

sudo a2enmod php8.x
sudo systemctl restart apache2

四、调试 MySQL / MariaDB

1. 能否本地登录

sudo mysql -u root -p

2. 查看数据库日志

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

3. 常见权限问题

确认 PHP 连接数据库的用户权限:

SELECT host, user FROM mysql.user;

远程连接失败通常是:

  • bind-address 限制
  • 用户权限不够

五、调试 PHP 连接数据库

1. 打开 PHP 错误显示(调试阶段)

编辑:

sudo nano /etc/php/8.x/apache2/php.ini

设置:

display_errors = On
error_reporting = E_ALL

重启 Apache:

sudo systemctl restart apache2

2. 测试数据库连接

<?php
$conn = new mysqli("localhost", "user", "password", "db");
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "数据库连接成功";
?>

六、防火墙 & 权限问题

1. 防火墙

sudo ufw status
sudo ufw allow 80
sudo ufw allow 443

2. 文件权限

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

七、快速排错清单(最常用)

✅ Apache 是否启动
✅ PHP 是否解析
✅ 错误日志是否打开
✅ 数据库是否可连
✅ 文件权限是否正确
✅ 防火墙是否放行


八、如果你愿意,我可以更具体帮你

你可以直接贴出:

  • Debian 版本(如 11 / 12)
  • Apache / PHP / MySQL 版本
  • 报错信息(最好来自 error.log
  • 访问页面时的具体现象

我可以一步一步帮你定位到具体配置行

0