在 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?