我使用 codeigniter 开发基于 Web 的应用程序,当我尝试连接到我的 oracle entreprise 9g 数据库时,框架向我发送此错误:
A PHP Error was encountered
Severity: Notice
Message: Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS'
Filename: database/DB.php
Line Number: 142
我尝试了不同的连接方法(经典,oracle specific)。 这是我的 config/database.php 文件。
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=*xxx.xxx.xxx.xxx*)(PORT=1521))(CONNECT_DATA=(SID=*DB_NAME*)))';
$db['default']['username'] = '*username*';
$db['default']['password'] = '*password*';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'oci8';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我认为这不是连接错误,你能帮我吗?
最佳答案
OCI_COMMIT_ON_SUCCESS
是在 Oracle PHP extension 中声明的常量.你确定你安装正确了吗?它在 php.ini 中启用了吗?您能否确认您可以使用 oci_connect
手动连接到数据库? ?
如果您没有扩展程序,则需要安装它。有一个我通常用来调试安装的步骤列表 here .
我不确定 OCI_COMMIT_ON_SUCCESS 的值是多少,但如果需要的话,您可以使用自己的定义来伪造它。
关于php - Codeigniter 和 oracle 未定义常量 : OCI_COMMIT_ON_SUCCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758328/