php - Codeigniter 和 oracle 未定义常量 : OCI_COMMIT_ON_SUCCESS

标签 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;

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

最佳答案

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/

相关文章:

sql - 连接多个表的多个列

php - 使用 Codeigniter 从 PHP 执行 perl 脚本

php - 无法在 codeigniter 3 中使用 SMTP gmail 配置发送电子邮件

php - 如何在 PayPal 快速结帐中禁用 "note to buyer"?

php - 在 ModX Revo 中运行自定义数据库查询

oracle - Oracle 对象的使用范围有多广?

regex - 用于匹配美国电话号码格式的 Oracle 正则表达式

Mysql查询文章相关评论数

php - 如何存储 zend、phing 和 phpunit 的共享配置?

php - 如何在foreach循环中获取下一个值