如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

2024-05-18

有谁知道如何使用配置文件 (.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: error 2nd way

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

有什么建议么?

提前致谢。


终于下班了

在 .ebextensions 中创建两个文件,如下所示:

安装依赖项.config,如果需要的话安装php common

commands:
  01_install_phpcommon:
    command:
      sudo yum -y install php70-common

php.ini.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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展? 的相关文章

随机推荐