有谁知道如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展?
我使用的是 64 位 Amazon Linux 2017.03 v2.4.0 运行 PHP 7.0.16
我尝试了以下几种方法:
1st Way我尝试过使用files
在配置文件中但它不起作用,配置文件名是phpini.config
in .ebextensions
具有以下设置的目录:
files:
"/etc/php.d/phpimap.ini":
mode: "000755"
owner: root
group: root
content: |
extension=imap.so
额外的.ini
文件解析为phpinfo()
通过显示/etc/php-7.0.d/phpimap.ini
但 IMAP 不会安装。
2nd Way
Using container_command
安装 php-imap 但出现错误。
container_commands:
install_php_imap:
command: yum install php55-imap
Error as image below:
3rd Way使用组合commands
& files
,才算安装成功IMAP和依赖项(php common)但它不会激活IMAP
A。通过添加以下脚本在我的 .ebextensions 中创建 installdependency.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
and extension=imap.so
to zzzphp.ini
并且只包含两个值:upload_max_filesize
and post_max_size
. The extension=imap.so
不包括在zzzphp.ini
file.
下面是脚本phpini.config
in .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
有什么建议么?
提前致谢。