You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Linux AMI EC2安装LAMP时缺失软件包求助

解决AWS EC2上yum安装LAMP时包缺失的问题

看起来你遇到的问题是因为使用了针对旧版Amazon Linux的包名,这些包在当前的EC2系统版本中已经不存在了。我来帮你一步步解决:

先确认你的EC2系统版本

首先运行这条命令查看你用的是哪个版本的Amazon Linux:

cat /etc/os-release

不同系统版本的解决方案

如果你用的是Amazon Linux 2(最常见的版本)

Amazon Linux 2已经统一了软件包命名,并且默认用MariaDB替代了MySQL。执行以下步骤:

  1. 先更新系统:
    sudo yum update -y
    
  2. 安装LAMP组件:
    sudo yum install -y httpd php php-mysqlnd mariadb-server
    
  3. 启动并设置开机自启服务:
    sudo systemctl start httpd
    sudo systemctl enable httpd
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  4. 初始化数据库(设置root密码等安全配置):
    sudo mysql_secure_installation
    

如果你用的是Amazon Linux 2023

这个版本用dnf替代了yum,包名和Amazon Linux 2一致:

  1. 更新系统:
    sudo dnf update -y
    
  2. 安装LAMP组件:
    sudo dnf install -y httpd php php-mysqlnd mariadb-server
    
  3. 启动并启用服务:
    sudo systemctl start httpd
    sudo systemctl enable httpd
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  4. 初始化数据库:
    sudo mysql_secure_installation
    

如果你确实需要旧版本的组件(比如PHP 7.0,不推荐生产环境)

如果因为特殊需求必须用PHP7.0这类旧版本,在Amazon Linux 2里可以通过amazon-linux-extras启用对应的软件源:

  1. 启用PHP7.0源:
    sudo amazon-linux-extras enable php7.0
    
  2. 安装旧版本的LAMP组件:
    sudo yum install -y httpd24 php7.0 php7.0-mysqlnd mysql56-server
    

为什么会出现这个报错?

你用的httpd24、php70、mysql56-server这些包名是Amazon Linux 1的专属命名,而Amazon Linux 1已经停止官方支持了。现在的Amazon Linux 2/2023都采用了更通用的包名,并且升级了软件版本,所以旧包名在新系统的软件源里找不到。

内容的提问来源于stack exchange,提问作者user24529

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:16:30