【发布时间】:2017-12-08 12:32:04
【问题描述】:
有谁知道如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展?
我正在使用运行 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 common),但它不会激活 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
b.通过添加以下脚本在我的 .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
4th Way 我正在通过将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
有什么建议吗?
提前致谢。
【问题讨论】:
标签: php amazon-web-services amazon-elastic-beanstalk imap ebextensions