加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP安装在干净的Amazon Linux AMI上

发布时间:2020-12-13 13:56:43 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用php55和Amazon PHP sdk来创建一个新的Amazon Linux EC2实例.但是,我遇到了一个我认为是由PHP版本冲突引起的问题.我认为在这种情况下,我对于yum的工作方式有所遗漏. 把它归结为最简单的情况,如果我运行: yum install -y httpd24 php55 php-ama
我正在尝试使用php55和Amazon PHP sdk来创建一个新的Amazon Linux EC2实例.但是,我遇到了一个我认为是由PHP版本冲突引起的问题.我认为在这种情况下,我对于yum的工作方式有所遗漏.

把它归结为最简单的情况,如果我运行:

yum install -y httpd24 php55 php-amazon-sdk2

我得到“错误:php55-与php-common-5.3.29-1.7.amzn1.x86_64的常见冲突”

但是,如果我跑:

yum install -y httpd24 php55

然后单独运行:

yum install -y php-amazon-sdk2

它工作得很好.要清楚的是,当我运行这些命令时,系统上根本没有PHP版本,所以它与已经存在的东西没有冲突.

我不太熟悉yum依赖项是如何工作的,但似乎这表明php-amazon-sdk2对于php55很好,但出于某种原因,它试图强制php53,如果我同时安装它.解决这个问题的正确方法是什么(意思是,我不想强??迫它安装,忽略依赖关系,但我也不想在单独的步骤中执行这些操作)?

这是由于Amazon Linux上的RPM / YUM限制,以及打包多个版本的php的方式. Amazon Linux的一个功能是有多种语言的多个版本和其他开源软件包.在许多情况下,这些软件包必须相互冲突,因为软件不是设计用于同时安装的.

在这种情况下,正在发生的是每个PHP包都有一个通用的提供(即PHP php54和php55都提供PHP). php-amazon-sdk2只需要php,这是通过在yum命令行上指定php55包来满足的.冲突错误来自php-guzzle-Guzzle包,它需要php-common.在这种情况下,如果你在安装php-amazon-sdk2软件包时在你的yum命令中添加了php55-common,它就会成功.

yum install -y httpd24 php55 php55-common php-amazon-sdk2

通常,在Amazon Linux AMI上,如果您遇到与php的冲突错误,解决方法是将正确的版本化软件包添加到yum命令行.在这种情况下,报告的冲突是常见的.你知道你想要安装php55,所以这只是告诉yum你究竟想要什么(即我想要php55-common,而不是php-common).如果你安装了一个需要php的软件包,并且你没有指定任何其他的php软件包,那么yum将选择通用的php软件包,并且将安装PHP 5.3.这些冲突错误通常是php54和php55包的问题.

我同意这项工作并不直观,亚马逊Linux AMI团队已经注意到了这个问题.他们正在探索此问题的几种不同解决方案.他们对php包装和Amazon Linux AMI的反馈非常开放.他们会监控aws论坛,因此这是发布问题的最佳位置.如果您拥有AWS Premium Support,则可以使用它们打开案例,并将其转发给Amazon Linux AMI团队.

谢谢,希思

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读