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

问题描述 投票:1回答:2

我正在尝试在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

我要以正确的方式进行此操作吗?

php amazon-elastic-beanstalk mongodb-php
2个回答
4
投票

您不应该通过SSH进入Elastic Beanstalk以安装php-develmongo。当您的EB环境扩展/扩展或服务器意外崩溃时,这些设置将消失。

尝试使用Configuration File自定义您的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

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


0
投票

[更新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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.