在amazon ec2 linux 2上安装php-imap

时间:2018-02-16 11:44:41

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

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

由于

3 个答案:

答案 0 :(得分:2)

我是这样安装的。

我在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 IMAP c客户端版本2007f 启用S​​SL支持 启用Kerberos支持

答案 1 :(得分:0)

对于那些遇到 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-{{​​1}}

3-sudo amazon-linux-extras install epel

4-yum install epel-release

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

其余的都可以从受访者那里获得。 再次感谢回答的人。

答案 2 :(得分:-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 **)并且手动isntall
  

CODE

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

我不喜欢这个解决方案,但现在找不到更稳定,更容易的任何其他解决方案。更新会带来痛苦......