安装OCI8:如何更正未定义常量OCI_COMMIT_ON_SUCCESS&QOOT的使用错误? [英] Installation of OCI8 : how to correct "Use of undefined constant OCI_COMMIT_ON_SUCCESS" error?
本文介绍了安装OCI8:如何更正未定义常量OCI_COMMIT_ON_SUCCESS&QOOT的使用错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
异常"错误异常":使用未定义的常量OCI_COMMIT_ON_SUCCESS-假定为‘OCI_COMMIT_ON_SUCCESS’
以下是我安装OCI8所做的操作。
- 安装oracle11.2 rpm(开发版和基本版)。
- 安装OCI8包:
仅供参考,我的服务器上已经安装了Oracle 12C,但我想将我的PHP应用程序连接到另一台服务器(Oracle 11GR2)。
tar zxvf oci8-2.1.7.tgz
cd oci8-2.1.7
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib --with-php-config=/opt/rh/rh-php56/root/usr/bin/php-config
make
make install
- 编辑php.ini以添加
extension=oci8.so
。
我找到了这个thread,我尝试使用oci_connect
,但收到以下错误:
致命错误:调用未定义的函数oci_Connect()
如何更正此问题?
编辑:我刚在php_error.log中发现此错误:
[26-Sep-2017 16:14:12欧洲/巴黎]php警告:php启动:无法加载动态库‘/opt/rh/rh-php56/root/usr/lib64/php/modules/oci8.so’-/opt/rh/rh-php56/root/usr/lib64/php/modules/oci8.so:未定义符号:_emalloc_128位于第0行
php
根据thread,推荐答案警告是由库冲突引起的。所以,我完全手动卸载了OCI8,然后重新安装。但是,这一次,我没有选择最后的版本,因为我在PECL网站上阅读了:
使用‘PECL INSTALL oci8-2.0.12’安装 适用于PHP 5.2-PHP 5.6。
另外,因为我的服务器上已经有一个Oracle数据库,所以我使用这些命令来安装扩展:
tar zxvf oci8-2.0.12.tgz
cd oci8-2.0.12
phpize
./configure --with-oci8=shared,$ORACLE_HOME --with-php-config=/opt/rh/rh-php56/root/usr/bin/php-config
make
make install
现在,我可以在我的phpinfo页面中找到列出的OCI8扩展。
这篇关于安装OCI8:如何更正未定义常量OCI_COMMIT_ON_SUCCESS&QOOT的使用错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文