我正在尝试在Elastic Beanstalk上部署一个php应用程序。除了我对mongo驱动程序的调用以外,其他所有程序都工作正常。
我尝试安装它的步骤如下(但未成功):
sudo yum install php-devel
(用于phpize)sudo pecl install mongo
按照说明尝试命令:sudo echo "extension=mongo.so" >> /etc/php.ini
与失败。错误消息是:
-bash: /etc/php.ini: Permission denied
我要以正确的方式进行此操作吗?
您不应该通过SSH进入Elastic Beanstalk以安装php-devel
和mongo
。当您的EB环境扩展/扩展或服务器意外崩溃时,这些设置将消失。
尝试使用Configuration File自定义您的EB环境。
/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
,所以您将不会手动安装它。
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