![](/img/trans.png)
[英]How to install PHP IMAP extension on Amazon Elastic Beanstalk
[英]How to Install PHP IMAP Extension on AWS Elastic Beanstalk Using Configuration Files (.ebextensions)?
有没有人知道如何使用配置文件(.ebextensions)在AWS Elastic Beanstalk上安装和启用PHP IMAP Extension?
我正在使用运行PHP 7.0.16的64位Amazon Linux 2017.03 v2.4.0
我尝试过以下几种方法:
第一个办法,我已经尝试使用files
中的配置文件,但它不工作,配置文件名phpini.config
在.ebextensions
目录下面的设置:
files:
"/etc/php.d/phpimap.ini":
mode: "000755"
owner: root
group: root
content: |
extension=imap.so
通过显示/etc/php-7.0.d/phpimap.ini
将其他.ini
文件解析为phpinfo()
,但不会安装IMAP。
第二种方式使用container_command
安装php-imap但我收到错误。
container_commands:
install_php_imap:
command: yum install php55-imap
第三种方式使用组合的commands
和files
,它只是成功安装IMAP和依赖(php常见),但它不会激活IMAP
一种。 通过添加以下脚本在我的.ebextensions中创建installdependencies.config:
commands:
install_phpcommon:
test: '[ ! -f /etc/php.d/curl.ini ] && echo "php common not installed"'
command:
yum -y install https://archipelagointernational.s3.amazonaws.com/libs/php70w-common-7.0.16-1.w6.x86_64.rpm
湾 通过添加以下脚本在我的.ebextensions中创建phpini.config:
commands:
install_phpimap:
test: '[ ! -f /etc/php.d/imap.ini ] && echo "php imap not installed"'
command:
yum -y install https://archipelagointernational.s3.amazonaws.com/libs/php70w-imap-7.0.16-1.w6.x86_64.rpm
files:
"/etc/php.d/imap.ini":
mode: "000755"
owner: root
group: root
content: |
extension=imap.so
第四办法,我加入测试upload_max_filesize
, post_max_size
和extension=imap.so
到zzzphp.ini
和仅包括两个值是upload_max_filesize
和post_max_size
。 extension=imap.so
未包含在zzzphp.ini
文件中。
下面是phpini.config
中的脚本.ebextensions
:
commands:
install_phpimap:
test: '[ ! -f /etc/php.d/imap.ini ] && echo "php imap not installed"'
command:
yum -y install https://archipelagointernational.s3.amazonaws.com/libs/php70w-imap-7.0.16-1.w6.x86_64.rpm
files:
"/etc/php.d/zzzphp.ini":
mode: "644"
content: |
upload_max_filesize = 50M
post_max_size = 58M
extension=imap.so
有什么建议么?
提前致谢。
最后它的工作
在.ebextensions中创建两个文件,如下所示:
installdependencies.config ,如果需要,安装php common
commands:
01_install_phpcommon:
command:
sudo yum -y install php70-common
phpini.config ,安装php imap并启用imap
commands:
02_install_phpimap:
command:
sudo yum -y install php70-imap
files:
"/etc/php.d/zzzphp.ini":
mode: "644"
content: |
extension=imap.so
对我来说,phpini.config下面的代码解决了这个问题。 请注意php版本的文件夹名称。 我的PHP版本是7.2因此下面的代码工作:
commands:
install_phpimap:
test: '[ ! -f /etc/php-7.2.d/imap.ini ] && echo "php imap not installed"'
command:
sudo yum -y install php72-imap
files:
"/etc/php-7.2.d/imap.ini":
mode: "000755"
owner: root
group: root
content: |
extension=imap.so
你在php的配置文件中包含了php-imap扩展,但这还不足以安装它。
您将不得不将某些内容传递给您选择的EBS配置方法,告诉它在系统级别安装php-imap(或在该环境中调用的任何内容)。
我遵循了所有的建议,但我的命令仍然失败,因为我的作曲家需要imap支持,容器命令运行后......这对我有用:
packages:
yum:
php72-imap.x86_64: []
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.