调试 Linux + Apache + MySQL/MariaDB + PHP(LAMP) 通常按“分层排查”的思路进行:网络 → Apache → PHP → MySQL → 应用日志。下面给你一套实用调试流程。
systemctl status httpd # CentOS/RHEL
systemctl status apache2 # Ubuntu/Debian
systemctl status mysqld # 或 mariadb
systemctl status php-fpm # 若使用 PHP-FPM
启动/重启:
systemctl start httpd
systemctl enable httpd
apachectl configtest
# 或
httpd -t
tail -f /var/log/httpd/error_log
# Ubuntu:
tail -f /var/log/apache2/error.log
curl -I http://localhost
若无法访问:
firewalld / ufwgetenforce
setenforce 0 # 临时关闭排查
创建测试文件:
<?php
phpinfo();
访问是否能看到 PHP 信息。
编辑 php.ini:
display_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log
重启 Apache 或 PHP-FPM。
tail -f /var/log/php-fpm/error.log
mysql -u root -p
tail -f /var/log/mysqld.log
# 或
tail -f /var/log/mysql/error.log
<?php
$conn = new mysqli("localhost","user","pass","db");
if ($conn->connect_error) {
die("DB Error: " . $conn->connect_error);
}
echo "OK";
常见问题:
error_log() 或 var_dump()zend_extension=xdebug.so
xdebug.mode=debug
✅ 服务是否启动
✅ 端口是否监听(netstat -tunlp)
✅ 防火墙/SELinux
✅ Apache/PHP/MySQL 日志
✅ 文件权限(www-data / apache)
✅ 配置是否 reload
如果你愿意,可以告诉我:
我可以给你更针对性的调试方案。