php oci8 模块未加载 (ubuntu 16)
php oci8 module not loaded (ubuntu 16)
我的 oci8 模块有问题,它无法加载。
OS 是 Ubuntu 16,Apache 2.4 和 PHP 5.6
我执行以下步骤:
- 我下载了 Oracle Instant Client Basic 和 SDK 包:
( oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm,
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm)
- 安装了 Oracle Instant Client(将 .rpm 转换为 .deb 后)
- 已从 PECL (oci8-2.0.12) 下载 OCI8 扩展
- 构建了 PHP OCI8 模块
- 已将 oci8.so 复制到模块目录 (/usr/lib/php/20131226/)
- 已编辑 php.ini 文件并添加具有完整路径的扩展名(扩展名=/usr/lib/php/20131226/oci8.so)
- 将oracle库路径添加到环境变量LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
- 然后,重新启动 Apache 网络服务器
模块未加载,Apache 日志显示以下错误:
Unable to load dynamic library '/usr/lib/php/20131226/oci8.so' -
libaio.so.1: cannot open shared object file: No such file or directory
in Unknown on line 0
确保在 Apache 找到它的地方设置 LD_LIBRARY_PATH,可能是 Apache 的 envvars 文件。或者,如果您的机器上没有任何其他 Oracle 软件,您可以更新 ldconfig。免费 Underground PHP & Oracle Manual
中有很多信息
几个问题:为什么不使用 12.1 Instant Client?这样,您就可以连接到 Oracle DB 10.2 及更高版本。
另外,为什么要转换 RPM,然后将输出移动到用户目录?为什么不简单地下载 Instant Client zip 文件并解压缩它们呢?您需要做的就是添加下载页面说明中提到的 sym link。
正如@Alexandre 提到的,问题出在 libaio.so 库中,这是 32/64 位不匹配。
我从@Codo 的回答中找到了问题:
再次安装libaio.so库后解决的问题:
sudo apt-get install libaio1
我的 oci8 模块有问题,它无法加载。
OS 是 Ubuntu 16,Apache 2.4 和 PHP 5.6
我执行以下步骤:
- 我下载了 Oracle Instant Client Basic 和 SDK 包: ( oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm, oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm)
- 安装了 Oracle Instant Client(将 .rpm 转换为 .deb 后)
- 已从 PECL (oci8-2.0.12) 下载 OCI8 扩展
- 构建了 PHP OCI8 模块
- 已将 oci8.so 复制到模块目录 (/usr/lib/php/20131226/)
- 已编辑 php.ini 文件并添加具有完整路径的扩展名(扩展名=/usr/lib/php/20131226/oci8.so)
- 将oracle库路径添加到环境变量LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
- 然后,重新启动 Apache 网络服务器
模块未加载,Apache 日志显示以下错误:
Unable to load dynamic library '/usr/lib/php/20131226/oci8.so' - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
确保在 Apache 找到它的地方设置 LD_LIBRARY_PATH,可能是 Apache 的 envvars 文件。或者,如果您的机器上没有任何其他 Oracle 软件,您可以更新 ldconfig。免费 Underground PHP & Oracle Manual
中有很多信息几个问题:为什么不使用 12.1 Instant Client?这样,您就可以连接到 Oracle DB 10.2 及更高版本。
另外,为什么要转换 RPM,然后将输出移动到用户目录?为什么不简单地下载 Instant Client zip 文件并解压缩它们呢?您需要做的就是添加下载页面说明中提到的 sym link。
正如@Alexandre 提到的,问题出在 libaio.so 库中,这是 32/64 位不匹配。
我从@Codo 的回答中找到了问题:
再次安装libaio.so库后解决的问题:
sudo apt-get install libaio1