【问题标题】:How to Install Php5.6 in amazon linux如何在亚马逊 linux 上安装 Php5.6
【发布时间】:2015-05-26 05:44:22
【问题描述】:

我正在尝试使用以下命令在 Amazon linux 上安装 php 5.6:

$ yum install php56
No package php56 available.
Error: Nothing to do

我需要添加一个存储库才能执行此操作吗?我已经搜索过这个,但找不到任何来源。我也想知道哪些 Apache 版本适用于这个版本的 php?

【问题讨论】:

  • yum install php56w
  • 克隆 PHP 存储库,检查 5.6 分支并从源代码构建它。

标签: php apache


【解决方案1】:

以下是我在 Amazon Linux 中将 PHP 版本从 5.3 更新到 5.6 的步骤

步骤(仅在需要时使用 sudo

1) 删除旧 Apache

sudo service httpd stop
sudo yum erase httpd httpd-tools apr apr-util

2) 删除旧 PHP

sudo yum remove php-*

3) 安装 PHP 5.6(Apache 2.4 会自动安装)

sudo yum install php56

4) 确保安装了所有必需的 PHP 扩展

yum list installed | grep php

5) 如果没有,则使用安装它们

sudo yum install php56-xml php56-xmlrpc php56-soap php56-gd

6) 列出其他可用的 php 扩展

yum search php56

7) PHP 5.6 MySQL 扩展(假设你已经安装了 MySQL)

sudo yum install php56-mysqlnd 

(注意:它不是 php56-mysql)

8) 启动/重启 Apache

sudo service httpd start
sudo service httpd restart

9) 检查版本

php -v
httpd -v

【讨论】:

  • 很好的答案。我把它和这个结合起来:brianshim.com/webtricks/update-amazon-ami-php5-3-to-php5-4
  • 这是一个非常有帮助的答案,它为我节省了很多时间。谢谢 Rijas
  • 我一直在寻找这个答案!谢谢!效果很好!
  • 为此:Error: httpd24-tools conflicts with httpd-tools-2.2.31-1.8.amzn1.x86_64 我必须先sudo yum remove httpd-tools-2.2.31-1.8.amzn1.x86_64 然后sudo yum install -y httpd24 php56
  • 请注意您的 httpd.conf 文件可能会被覆盖。我没想到要备份它,不得不从头开始为多个站点重新创建。
【解决方案2】:

AWS 还没有打包 php 5.6。您需要从 ALAMI 存储库安装 php 5.5,或从源代码构建 5.6。

要列出可用的 5.5 包,请使用 yum search php55

php55 是基本包,但您可能还需要列出其他包。

5.6 准备就绪后,您可以使用 yum search php56

您可以在php.net,特别是Installation on Unix Systems / Apache 2.x on Unix Systems 找到有关构建源代码的信息

【讨论】:

  • 现在AWS已经打包php 5.6
  • 什么是 ALAMI 存储库?
  • @manan 在哪个 repo 中可用?我想将我的 php56 应用程序从 amazon linux1 迁移到 amazonlinux2。并且不想使用 ius-release*.rpm。
  • @mahendrarathod php56 在 Amazon Linux 2 推出时已经结束或关闭,所以我怀疑它是否在基本包中。我手边没有 AL2 机器,但你可以试试 Extras 看看他们是否为你打包好了docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
  • @mahendrarathod 我刚刚检查过,看起来它在 AL2 中不可用,您需要自己从源代码构建。 AL2 只有 php7.2、7.3、7.4、8.0 可用。奇怪的是,Amazon Linux 2 上的默认 php 包似乎是 5.4(不使用附加功能)。
【解决方案3】:

只是为了保持更新答案, 我尝试了建议的解决方案,但没有奏效。

5.6 很难安装

我发现现在安装 7.2 的正确命令是

amazon-linux-extras install php7.2

它可以轻松安装和升级所有内容。

【讨论】:

    【解决方案4】:

    试试这个:

    sudo yum -y update
    
    sudo yum install –y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    sudo wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    sudo wget https://centos7.iuscommunity.org/ius-release.rpm
    
    sudo rpm -Uvh ius-release*.rpm
    
    sudo yum -y update
    

    安装软件包时,您需要在 php56 的末尾添加一个 u。这是您可以安装的一些软件包的示例。

    sudo yum -y install php56u php56u-opcache php56u-xml \
      php56u-mcrypt php56u-gd php56u-devel php56u-mysql \
      php56u-intl php56u-mbstring php56u-bcmath php56u-soap
    

    【讨论】:

      【解决方案5】:

      来自@Daniele 帖子的附加部分,用于解决此问题。

      这比问题更有帮助,但可以帮助其他人解决我遇到的问题。我需要在 EC2 上安装 Wordpress 站点,但是当我尝试使用公共 IP 地址运行它时,出现了问题。我尝试安装php 5.6,但无法安装。

      我找到了安装 php 7.2 的解决方案,使用命令:

      **amazon-linux-extras install php7.2**
      

      要检查是否真的是 php 7.2 版本,请使用:

      php -version  or   php -v
      

      之后需要停止apache服务,停止命令为:

      service httpd stop
      

      重新启动apache服务:

      service httpd start
      

      在您的 AWS 控制台中,转到实例,找到公共 IP 地址,复制并在浏览器中打开。您应该会看到 WordPress 页面。创建 EC2 实例时,您可以在高级部分(引导)中安装 WordPress。

      【讨论】:

        【解决方案6】:

        使用 repo epo.ius.io 在 amazonlinux2 上成功安装了 php56 和所需的 php-module。

         sudo yum -y update
            sudo yum install –y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
            wget https://repo.ius.io/ius-release-el7.rpm
            sudo rpm -Uvh ius-release*.rpm
            sudo yum -y update
            sudo yum install --enablerepo=ius-archive php56u php56u-opcache php56u-xml php56u-mcrypt php56u-gd php56u-devel php56u-mysql php56u-intl php56u-mbstring php56u-bcmath php56u-soap
        

        使用以下命令检查 PHP 版本

        [root@ip-10-10-1-47 ~]# php -v
        PHP 5.6.40 (cli) (built: Jan 11 2019 10:27:04) 
        Copyright (c) 1997-2016 The PHP Group
        Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
            with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
        

        安装php模块

        yum install --enablerepo=ius-archive php56u-{Module Name}
        

        验证模块名称

        php -m
        php -m | grep {Module Name}
        example to check php yaml module
        php -m | grep  yaml
        

        参考网址:https://forums.aws.amazon.com/thread.jspa?threadID=284157

        【讨论】:

          猜你喜欢
          • 2019-10-30
          • 1970-01-01
          • 2013-11-07
          • 2020-07-12
          • 2022-09-23
          • 1970-01-01
          • 2014-03-29
          • 2016-09-02
          • 2020-05-17
          相关资源
          最近更新 更多