各位开发人员,大家好!
我已经搜索了 2 个星期如何OCI8 PHP extension
在 Elastic Beanstalk 上安装,.ebextensions
但遗憾的是我无法搜索到类似的方法。
在我得出结论之前.ebextensions
,我首先尝试了 Docker 方法。我使用OCI8 PHP 扩展和Oracle 即时客户端依赖项。它在我的本地 Docker Hub 应用程序上运行良好,但当我尝试将其部署到 EB 时出现错误。
在阅读更多信息后,我偶然发现了这篇 AWS 文章:如何在使用 Amazon Linux 1 堆栈运行 PHP 的 Elastic Beanstalk 环境中安装 PECL 7 模块?。由此,我得出结论,对我来说这是最好的选择。现在的问题是几乎找不到与 OCI8、Elastic Beanstalk 和相关的文章.ebextensions
。
有谁尝试过使用.ebextensions
配置文件来安装OCI8 PHP 扩展? 任何线索都会有帮助。
答案1
我们已经能够使用 .ebextensions 安装 oci8 和 oracle 客户端。我们创建了 2 个配置文件,一个用于 oracle 内容:
commands:
01_install_basic:
command: |
cd /tmp
wget https://download.oracle.com/otn_software/linux/instantclient/oracle-instantclient-basic-linuxx64.rpm
rpm -i oracle-instantclient-basic-linuxx64.rpm
test: '! rpm -qa |grep oracle-instantclient-basic'
02_install_devel:
command: |
cd /tmp
wget https://download.oracle.com/otn_software/linux/instantclient/oracle-instantclient-devel-linuxx64.rpm
rpm -i oracle-instantclient-devel-linuxx64.rpm
test: '! rpm -qa |grep oracle-instantclient-devel'
03_install_sqlplus:
command: |
cd /tmp
wget https://download.oracle.com/otn_software/linux/instantclient/oracle-instantclient-sqlplus-linuxx64.rpm
rpm -i oracle-instantclient-sqlplus-linuxx64.rpm
export CLIENT_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$CLIENT_HOME/lib
export PATH=$PATH:$CLIENT_HOME/bin
test: '! rpm -qa |grep oracle-instantclient-sqlplus'
第二个是 oci8 模块
commands:
02_install_oci8:
command: echo '' | /usr/bin/pecl install oci8-2.2.0
test: '! php -m |grep oci8'
它可能并不完美,但对我们来说它还是有用的!
问候,
埃里克