【问题标题】:installing php-imap on amazon ec2 linux 2在亚马逊 ec2 linux 2 上安装 php-imap
【发布时间】:2018-02-16 11:44:41
【问题描述】:

我需要在 amazon ec2 linux 2 实例上安装 php-imap。 所有的 php 内容都在 amzn2extra-lamp-mariadb10.2-php7.2 中,但缺少 php-imap 包。 有什么建议吗?

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-ec2 imap php-7.2


    【解决方案1】:

    我是这样安装的。

    我在我的 Amazon Linux 2 中下载了当前安装版本的 php 源代码

    wget http://php.net/get/php-7.2.8.tar.bz2/from/a/mirror
    

    解压后进入php-7.2.8/ext/imap/

    编译后的扩展:

    phpize
    ./configure
    

    我遇到了一些错误。

    一些 U8T_CANONICAL 的东西

    sudo yum install libc-client-devel
    

    然后 libc-client.a 没有找到所以为它创建了一个符号链接:

    cd /usr/lib
    sudo ln -s /usr/lib64/libc-client.a
    

    其他一些 imap 库错误,所以:

    sudo yum install uw-imap-static
    

    我遇到了一些其他错误,所以工作配置行是:

    ./configure --with-kerberos --with-imap-ssl
    make
    

    成功!

    cd php-7.2.8/ext/imap/modules
    sudo cp imap.so /usr/lib64/php/modules/
    

    创建了一个ini文件来加载它:

    sudo vi /etc/php.d/30-imap.ini
    

    在文件中添加了这个内容:

    extension=imap
    

    重新启动 php 服务(根据您的 php 安装情况,您可能需要重新启动 httpd):

    sudo systemctl restart php-fpm
    

    PHPinfo 现在包含: 地图 IMAP c 客户端版本 2007f 启用 SSL 支持 启用 Kerberos 支持

    【讨论】:

    • 此解决方案可用于安装任何其他扩展,例如在 amazon ec2 linux 2 上安装 php-zip
    【解决方案2】:

    对于那些面临 U8T_CANONICAL 错误并且无法在 Amazon Linux 2 AMI 上安装 libc-client-devel 的用户> 需要做一些额外的事情来解决 U8T_CANONICAL 错误。

    主要问题是 libc-client-devel 不可用,因此我们需要以其他方式进行。

    我在搜索我的问题时找到了this link。此处发布的解决方案是可靠的。我提供的以下链接适用于那些无法安装 libc-client-devel 的人,将从该链接中受益。

    或者你可以复制粘贴我在下面给出的命令。

    1 - sudo yum groupinstall "Development Tools"

    2 - sudo amazon-linux-extras install epel

    3 - yum install epel-release

    4 - sudo yum install libc-client-devel uw-imap-static openssl-devel

    5 - sudo ln -s /usr/lib64/libc-client.a /usr/lib

    其余的可以从被访者那里跟进。 再次感谢回答的人。

    【讨论】:

      【解决方案3】:

      同样的问题。

      我来自 debian/ubuntu,我想念 aws linux2 上的很多 php 包。 我知道它仍然是候选版本,而不是最终的 LTS 版本。这个发行版只工作了一个月,看到了很多变化和更新。一些 php 依赖项可以用 pear 或 pecl 解决,但我无法在 php-imap 上工作。

      php-imap 依赖于 libc-client(也许这是个问题?)

      这是我的解决方案。

      • 搜索与您的版本对应的 libc-client rpm 并 手动安装。
      • 搜索与您的 php 安装版本相对应的 rpm。就我而言,大约 2 周前是 7.2.5**-2**。 (今天是 7.2.5**-3** ) 并且没有手动安装

      代码

      wget https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64//php72u-imap-7.2.5-2.ius.centos7.x86_64.rpm -P /tmp
      wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libc-client-2007f-16.el7.x86_64.rpm -P /tmp
      
      rpm -i /tmp/libc-client-2007f-16.el7.x86_64.rpm
      rpm -i /tmp/php72u-imap-7.2.5-2.ius.centos7.x86_64.rpm
      

      如果因为依赖失败而失败:

      rpm -ivh /tmp/php72u-imap-7.2.5-2.ius.centos7.x86_64.rpm --nodeps
      

      我不喜欢这个解决方案,但目前找不到任何其他更稳定和简单的解决方案。更新会很痛苦....

      【讨论】:

      • 也许其他方法可以为 centos7 安装 epel repos 并使用它来安装所有 php 相关的包。这可能是维护 php 版本的更稳定的方法,但我不知道它如何打破与 amzn2extra repos 的依赖关系
      • 没有人有更好的方法或解决方案?
      猜你喜欢
      • 2020-07-12
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 2013-11-07
      • 2023-03-26
      • 2020-05-17
      相关资源
      最近更新 更多