温馨提示×

为什么ubuntu lamp报错

小樊
48
2026-10-01 03:35:03
栏目: 智能运维

“Ubuntu LAMP 报错”这个说法比较笼统,因为 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 在 Ubuntu 上出错的原因非常多。下面我按常见报错场景给你分类说明,你可以对照看是哪一种。


一、Apache 无法启动 / 端口被占用

常见报错:

(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

原因:

  • 80 端口被 Nginx / 其他 Apache / Docker 占用

解决:

sudo netstat -tulnp | grep :80
sudo systemctl stop nginx
sudo systemctl restart apache2

二、PHP 不解析,浏览器直接下载 .php 文件

原因:

  • 没装 PHP Apache 模块
  • 或模块未启用

解决(Ubuntu 20.04+):

sudo apt install php libapache2-mod-php
sudo systemctl restart apache2

三、MySQL / MariaDB 启动失败

常见报错:

Job for mysql.service failed

可能原因:

  • /var/lib/mysql 权限错误
  • 磁盘空间满
  • 配置文件错误

排查:

journalctl -xe
sudo systemctl status mysql

常见修复:

sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mysql

四、访问网页 403 Forbidden

原因:

  • 网站目录权限不对
  • DocumentRoot 配置错误

解决:

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

五、PHP 连接数据库失败

报错示例:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

原因(Ubuntu 特有):

  • MySQL 默认用 auth_socket,不允许密码登录

解决:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

六、防火墙 / 安全组问题

现象:

  • 本地能访问,外网不能

解决:

sudo ufw allow 80
sudo ufw allow 443

七、你看到的“具体报错”是什么?

如果你能贴出:

  • 终端报错内容
  • 浏览器报错页面
  • 使用的 Ubuntu 版本(如 22.04)
  • LAMP 安装方式(apt / 脚本 / Docker)

我可以直接帮你精确定位并给出修复命令。

0 踩