3

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

谢谢

4

3 回答 3

6

我是这样安装的。

我在我的 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 not found 所以为它创建了一个符号链接:

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 IMAP c-Client Version 2007f SSL Support enabled Kerberos Support enabled

于 2018-10-30T21:21:48.500 回答
1

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

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

我在搜索我的问题时找到了这个链接。此处发布的解决方案是可靠的。我提供的以下链接适用于那些无法安装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

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

于 2020-09-03T10:16:12.790 回答
-1

这里同样的问题。

我来自 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

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

于 2018-06-04T10:17:41.697 回答