【问题标题】:OCIEnvNlsCreate() failed. When i try to connect my oracle database in phpOCIEnvNlsCreate() 失败。当我尝试在 php 中连接我的 oracle 数据库时
【发布时间】:2012-04-01 19:25:18
【问题描述】:

php信息

_ENV["ORACLE_HOME"] C:\oracle\instantclient_11_2\
_ENV["OS"]  Windows_NT
_ENV["Path"]    C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\oracle\instantclient_11_2;\;

oci8

OCI8 Support    enabled
Version     1.2.5
Revision    $Revision: 1.269.2.16.2.43 $
Active Persistent Connections   0
Active Connections  0
Temporary Lob support   enabled
Collections support     enabled 

php代码

<?php
     $conn = OCILogon('mppd1','mppd1', "121.256.476.86:1521/mydatabase");

$query = 'select * from users';

$stid = OCIParse($conn, $query);
//OCIExecute($stid, OCI_DEFAULT);
while ($succ = OCIFetchInto($stid, $row)) {
foreach ($row as $item) {
echo $item." ";
}
echo "<br>\n";
}

OCILogoff($conn);
?>

我收到了这个错误

Severity: Warning

Message: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries

【问题讨论】:

    标签: php oracle codeigniter


    【解决方案1】:

    https://forums.oracle.com/forums/message.jspa?messageID=1742926#1745145

    该页面上有几种潜在的解决方案,从重新安装 xampp 到检查权限再到使用原生 php oci_connect()。你有没有尝试过这些方法?

    【讨论】:

      【解决方案2】:

      您可能应该下载 InstantClient 并将 Oracle 客户端的 /instantclient 文件夹的内容替换为 InstantClient 的 .dll-s。

      【讨论】:

        【解决方案3】:

        我解决了它复制 C:\instantclient_11_2 的所有内容(请检查你的内容)在 Windows 的 system 和 system32 文件夹中,然后我在 PATH 环境变量中删除 C:\instantclient_11_2 的路径。

        我正在使用 XAMPP 和 Windows 8,这是我第一次看到这个问题。我总是在几分钟内正确配置了带有 xampp 和 windows 的 oci 8。我希望这会对你有所帮助。

        【讨论】:

        • 我在 Windows 7 上使用 wampserver 解决了上述解决方案。
        • 这让我免去了 4 天的痛苦!
        【解决方案4】:

        您需要将即时客户端的所有内容复制到apache/bin

        我正在使用 xampp 并为我工作。

        将即时客户端enter image description here的所有文件复制到apache/bin

        【讨论】:

        • 另外,请检查您是否拥有正确的库版本,以及客户端和 odbc 是否匹配版本和架构。
        【解决方案5】:

        在连接到 oracle 11gR2 时,我在 uwamp 3 上遇到了同样的错误。

        我从路径变量中删除了 oracle 即时客户端,并将所有文件从即时客户端复制到 uwamp\bin\apache\bin

        它成功了。

        我的设置:

        • 系统:Windows 7
        • Instantclient:instantclient-basiclite-win32-11.1.0.7.0
        • Web 服务器:Uwamp3

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-29
          • 2014-02-25
          • 1970-01-01
          • 2022-06-13
          相关资源
          最近更新 更多