【发布时间】: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
我需要在 amazon ec2 linux 2 实例上安装 php-imap。 所有的 php 内容都在 amzn2extra-lamp-mariadb10.2-php7.2 中,但缺少 php-imap 包。 有什么建议吗?
谢谢
【问题讨论】:
标签: amazon-web-services amazon-ec2 imap php-7.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 c 客户端版本 2007f 启用 SSL 支持 启用 Kerberos 支持
【讨论】:
对于那些面临 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
其余的可以从被访者那里跟进。 再次感谢回答的人。
【讨论】:
同样的问题。
我来自 debian/ubuntu,我想念 aws linux2 上的很多 php 包。 我知道它仍然是候选版本,而不是最终的 LTS 版本。这个发行版只工作了一个月,看到了很多变化和更新。一些 php 依赖项可以用 pear 或 pecl 解决,但我无法在 php-imap 上工作。
php-imap 依赖于 libc-client(也许这是个问题?)
这是我的解决方案。
代码
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
我不喜欢这个解决方案,但目前找不到任何其他更稳定和简单的解决方案。更新会很痛苦....
【讨论】: