PHP安装在干净的Amazon Linux AMI上

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP安装在干净的Amazon Linux AMI上脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用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团队.

谢谢,希思

脚本宝典总结

以上是脚本宝典为你收集整理的PHP安装在干净的Amazon Linux AMI上全部内容,希望文章能够帮你解决PHP安装在干净的Amazon Linux AMI上所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。