Debian LAMP常见故障排查与修复
一 快速定位与通用流程
二 组件故障对照表
| 症状 | 高频原因 | 快速修复 |
|---|---|---|
| Apache无法启动/端口被占用 | 配置语法错误、其他进程占用80/443 | 运行apache2ctl configtest定位;用ss -tlnp查占用并停止冲突进程;修正配置后重启 |
| 403 Forbidden / Permission denied | 目录属主/权限不当、目录无索引、.htaccess限制 | 将网站目录属主设为www-data:www-data,权限755/644;确认DirectoryIndex包含index.php;检查AllowOverride与**.htaccess**规则 |
| PHP页面空白或下载 | PHP模块未启用、PHP-FPM未运行、MIME类型不对 | 启用模块:a2enmod phpX.Y;如使用FPM:a2enmod proxy_fcgi setenvif并配置**/etc/apache2/conf-available/phpX.Y-fpm.conf后a2enconf phpX.Y-fpm**;确认phpX.Y-fpm运行;必要时在Apache添加AddType application/x-httpd-php .php |
| 数据库连接失败/ERROR 1045 | 账户权限/密码错误、未运行、绑定地址限制 | 启动服务:systemctl restart mariadb;运行mysql_secure_installation加固与重置;检查**/etc/mysql/mariadb.conf.d/*.cnf中的bind-address**与用户主机 |
| “The requested module named [php7_module] is not loaded” | 模块名与已安装模块不一致(如php8.2却写php7_module) | 安装匹配版本模块并启用:如apt install libapache2-mod-php8.2;或改用FPM方案:a2enmod proxy_fcgi setenvif && a2enconf php8.2-fpm |
| 静态资源慢/并发差 | 未启用压缩与缓存、KeepAlive不当、未用OPcache | 启用mod_deflate压缩;启用mod_expires/mod_headers设置缓存;开启KeepAlive并合理设置KeepAliveTimeout;安装并启用OPcache(php.ini中opcache.enable=1) |
三 权限与防火墙要点
四 多版本PHP与兼容性处理
五 日志与进一步排查