在 Amazon EC2 实例上安装 php 和 apache

Posted

技术标签:

【中文标题】在 Amazon EC2 实例上安装 php 和 apache【英文标题】:installing php and apache on Amazon EC2 instances 【发布时间】:2013-09-05 23:10:07 【问题描述】:

我正在尝试在亚马逊 ec2 实例上安装 php,但是当我运行以下命令时: sudo yum -y install httpd php54-fpm php54-common

它给了我以下错误:

     Loaded plugins: priorities, security, update-motd, upgrade-helper
    Setting up Install Process
    Resolving Dependencies
   --> Running transaction check
   ---> Package httpd.x86_64 0:2.2.25-1.0.amzn1 will be installed
   --> Processing Dependency: httpd-tools = 2.2.25-1.0.amzn1 for package: httpd-2.2.25-     1.0.amzn1.x86_64
   --> Processing Dependency: apr-util-ldap for package: httpd-2.2.25-1.0.amzn1.x86_64
   ---> Package php54-common.x86_64 0:5.4.17-2.41.amzn1 will be installed
   ---> Package php54-fpm.x86_64 0:5.4.17-2.41.amzn1 will be installed
    --> Running transaction check
  enter code here ---> Package apr-util-ldap.x86_64 0:1.4.1-4.14.amzn1 will be installed
   ---> Package httpd-tools.x86_64 0:2.2.25-1.0.amzn1 will be installed
--> Processing Conflict: httpd24-tools-2.4.6-2.47.amzn1.x86_64 conflicts httpd-tools < 2.4.6
--> Processing Conflict: php54-common-5.4.17-2.41.amzn1.x86_64 conflicts php-common < 5.4.17-2.41.amzn1
--> Finished Dependency Resolution
Error: httpd24-tools conflicts with httpd-tools-2.2.25-1.0.amzn1.x86_64
Error: php54-common conflicts with php-common-5.3.27-1.0.amzn1.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

提前致谢。

【问题讨论】:

关于 Apache 冲突。您正在尝试安装包含 Apache v2.2 的 httpd 软件包,但您已经安装了包含 Apache v2.4 的 httpd24 【参考方案1】:

您是否阅读了错误信息?再读一遍:

Error: httpd24-tools conflicts with httpd-tools-2.2.25-1.0.amzn1.x86_64
Error: php54-common conflicts with php-common-5.3.27-1.0.amzn1.x86_64

当您似乎已经安装了 HTTPD 2.2 并且与 php 相同时,您正在尝试安装 HTTPD 2.4,即您安装了 PHP 5.3 并且您正在尝试安装 5.4。确认这一点的一个简单方法是在 bash 中输入以下内容:

php -v
httpd -V

如果您想安装较新的版本,请删除较旧的版本。

yum remove httpd-tools-2.2.25-1.0.amzn1.x86_64 php-common-5.3.27-1.0.amzn1.x86_64

【讨论】:

【参考方案2】:

更具体地说,httpd == 2.2 版。 php54 正在尝试安装 httpd24

不要指定httpd。让您的 PHP 版本确定要安装的 Apache 版本。

【讨论】:

关于不指定 httpd 的重要提示 这很好,除非您的应用仅针对其他版本进行了测试。为什么php要指定apache版本? 这是个好问题。严重地。真的。另一个很好的问题是为什么你仍然使用 Apache 而不是 nginx?还有一个问题是你为什么不使用 Docker 和 Alpine Linux 来代替?

以上是关于在 Amazon EC2 实例上安装 php 和 apache的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Linux EC2 实例上的 uWSGI 安装异常

使用 PHP 5.5 在 Amazon EC2 上安装 pdo_mysql

如何在 Amazon EC2 上配置 PHP + Apache?

在 Ubuntu Amazon EC2 上安装 PhP curl

安装 Amazon Inspector 服务

如何将文件从我的 Windows 7 计算机传输到 Amazon EC2 实例? [关闭]