Codeigniter和oracle未定义的常量:OCI_COMMIT_ON_SUCCESS

Las*_*eur 4 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
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的连接方法(经典,特定oracle).有我的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;
Run Code Online (Sandbox Code Playgroud)

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

cwa*_*ole 11

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

如果您没有扩展程序,则需要安装它.有步骤,我一般采取的调试安装列表在这里.

我不确定OCI_COMMIT_ON_SUCCESS的价值是什么,但是你可能能够使用你自己的定义伪造它,如果有的话.