“Ubuntu LAMP 报错”这个说法比较笼统,因为 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 在 Ubuntu 上出错的原因非常多。下面我按常见报错场景给你分类说明,你可以对照看是哪一种。
常见报错:
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
原因:
解决:
sudo netstat -tulnp | grep :80
sudo systemctl stop nginx
sudo systemctl restart apache2
原因:
解决(Ubuntu 20.04+):
sudo apt install php libapache2-mod-php
sudo systemctl restart apache2
常见报错:
Job for mysql.service failed
可能原因:
排查:
journalctl -xe
sudo systemctl status mysql
常见修复:
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mysql
原因:
解决:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
报错示例:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
原因(Ubuntu 特有):
auth_socket,不允许密码登录解决:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
现象:
解决:
sudo ufw allow 80
sudo ufw allow 443
如果你能贴出:
我可以直接帮你精确定位并给出修复命令。