温馨提示×

centos lamp如何调试错误

小樊
37
2026-10-15 00:45:49
栏目: 智能运维

在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境时,调试错误通常分为系统层、服务层、Web 层、代码层几个方向。下面给你一套实用调试流程,适合大多数情况。


一、确认基础服务状态

1. 查看服务是否运行

systemctl status httpd
systemctl status mariadb   # 或 mysqld
systemctl status php-fpm   # 若使用 PHP-FPM

启动服务:

systemctl start httpd
systemctl enable httpd

二、查看 Apache 错误日志(最常见)

默认日志位置

/var/log/httpd/error_log
/var/log/httpd/access_log

实时查看错误:

tail -f /var/log/httpd/error_log

常见错误示例:

  • Permission denied → 文件/目录权限问题
  • File does not exist → 路径错误
  • PHP Parse error → PHP 代码问题

三、PHP 错误调试

1. 开启 PHP 错误显示(开发环境)

编辑 php.ini:

vi /etc/php.ini

修改:

display_errors = On
error_reporting = E_ALL
log_errors = On

重启 Apache:

systemctl restart httpd

2. 查看 PHP 错误日志

/var/log/php/php_error.log

(路径由 error_log 决定)


四、MySQL / MariaDB 调试

1. 查看数据库状态

systemctl status mariadb

2. 登录测试

mysql -u root -p

3. 查看数据库错误日志

/var/log/mariadb/mariadb.log

4. 常见错误

  • Access denied for user → 账号/权限问题
  • Can't connect to MySQL server → 服务未启动或端口问题

五、文件权限问题(非常常见)

Web 目录推荐权限

chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html

SELinux 相关问题:

getenforce

临时关闭测试:

setenforce 0

永久允许 httpd 访问:

setsebool -P httpd_can_network_connect 1
setsebool -P httpd_unified 1

六、防火墙问题

开放 80 / 443 端口

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

七、PHP 与 Apache 不解析(显示源码)

检查:

httpd -M | grep php

若没有 php 模块:

yum install php php-mysql
systemctl restart httpd

八、快速排错清单(建议顺序)

  1. 服务是否启动
  2. Apache 错误日志
  3. PHP 错误是否开启
  4. 文件权限 & SELinux
  5. 防火墙端口
  6. 数据库是否可连

如果你愿意,可以把具体报错信息或场景(例如 500 错误、白屏、数据库连接失败)发出来,我可以直接帮你定位。

0 踩