Codeigniter和oracle未定义的常量:OCI_COMMIT_ON_SUCCESS

时间:2011-07-20 07:18:14

标签: php oracle codeigniter

我使用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;

我认为这不是连接错误,你能帮助我吗?

1 个答案:

答案 0 :(得分:10)

OCI_COMMIT_ON_SUCCESS是Oracle PHP extension中声明的常量。您确定已正确安装吗?它是否在php.ini中启用?您能否确认可以使用oci_connect手动连接数据库?

如果您没有扩展程序,则需要安装它。我通常会调试安装here

我不确定OCI_COMMIT_ON_SUCCESS的价值是什么,但如果涉及到,你或许可以使用自己的定义伪造它。