在 AWS Elastic Beanstalk 上安装 php mongo 驱动程序

Leh*_*hel 2 php mongodb-php amazon-elastic-beanstalk

我正在尝试在 Elastic Beanstalk 上部署一个 php 应用程序。除了我打电话给 mongo 驱动程序外,一切都正常。

我尝试安装它遵循以下步骤(不成功):

  1. SSH 到 Elastic Beanstalk 实例。
  2. sudo yum install php-devel (用于 phpize)
  3. sudo pecl install mongo
  4. 按照说明尝试命令:sudo echo "extension=mongo.so" >> /etc/php.ini失败。错误信息是:

    -bash: /etc/php.ini: Permission denied

我会以正确的方式解决这个问题吗?

stu*_*udy 5

您不应该通过 SSH 连接到 Elastic Beanstalk 来安装php-develmongo. 当您的 EB 环境扩大/缩小或服务器意外崩溃时,这些设置将消失。

尝试使用配置文件来自定义您的 EB 环境。

更新:为 64 位 Amazon Linux 2013.09 上的 PHP 5.4 添加配置文件示例

  1. 在源包的顶层创建一个 .ebextensions 目录。
  2. 创建一个配置文件,/your_app/.ebextensions/01install_mongo_driver.config.

在配置文件中键入以下内容01install_mongo_driver.config以安装 php mongodb 驱动程序。

commands:
  install_mongo_driver_command:
    command: pecl install mongo
Run Code Online (Sandbox Code Playgroud)

因为 64 位 Amazon Linux 2013.09 AMI 上的 PHP 5.4 已经包含php-devel,所以您不会手动安装它。


hit*_*ill 5

Amazon Linux 2 上 PHP 7 上的 MongoDB 更新

files:
 "/etc/php.d/99mongo.ini" :
   mode: "000755"
    owner: root
    group: root
    content: |
      extension=mongo.so
commands:
  install_mongo_driver_command:
    command: sudo pecl7 install mongodb
    ignoreErrors: true
Run Code Online (Sandbox Code Playgroud)

上面添加了在 php.ini 上启用扩展并为您的 PHP 安装 mongodb。这ignore errors可以防止第二次安装时出现任何错误。(例如,如果您的服务器崩溃并且必须重新启动)。这是为了防止出现“mongodb已安装”的错误

注意:此文件存储在:/your_app_root/.ebextensions/mongo.config