【问题标题】:Codeigniter and oracle undefined constant: OCI_COMMIT_ON_SUCCESSCodeigniter 和 oracle 未定义常量:OCI_COMMIT_ON_SUCCESS
【发布时间】:2011-07-20 15:28:18
【问题描述】:

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

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

【问题讨论】:

    标签: php oracle codeigniter


    【解决方案1】:

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

    如果您没有扩展程序,则需要安装它。我通常会采取一系列步骤来调试安装here

    我不确定 OCI_COMMIT_ON_SUCCESS 的值是多少,但如果涉及到,您可以使用自己的定义来伪造它。

    【讨论】:

    • 谢谢,来自php.ini中扩展的激活。
    • @cwallenpoole:我已经安装了 Oracle 客户端。在我的 php.ini 中,我启用了:php_oci8.dll、php_oci88_11g.dll 和 php_pdo_oci.dll 我检查了 oci_connect() 函数,但它变成了“致命错误:调用未定义函数 oci_connect()”。请问怎么修?如何正确安装?
    • @TienHoang 你确定你使用的是正确版本的 php.ini,一些 PHP 实例在同一台机器上有两个不同的 ini 文件(我,例如,我使用的是 Mac,它CLI 和 Apache 有不同的 ini)。
    • “Undefined function oci_connect”表示你无论如何都没有安装OCI扩展。
    • @cwallenpoole:是的,我发现了我的问题。我同时使用 php_oci8.dll 和 php_oci8_11g.dll,但它不适合我的系统。谢谢。
    猜你喜欢
    • 2014-06-29
    • 2016-02-29
    • 2012-04-10
    • 2018-03-08
    • 2018-12-28
    • 2021-12-25
    • 2012-12-09
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多