PHP&;Oracle-oci_connect()ORA-12705:无法访问NLS数据文件

PHP&;Oracle-oci_connect()ORA-12705:无法访问NLS数据文件,php,oracle,oracle-call-interface,Php,Oracle,Oracle Call Interface,我们已经在服务器上使用Oracle很多年了,但是昨天有人在没有明确警告的情况下删除了它,它真的把我们的系统扔了 我已经按照cwallenpoole的建议采取了行动(谢谢!),并取得了良好的进展,PHP现在至少包括了oracle函数(即oci_connect),但我现在遇到了另一条错误消息: “警告:oci_connect()[function.oci connect]:ORA-12705:无法访问NLS数据文件或无效环境” 我们已确保tnsnames.ora etc文件位于正确的位置,但仍然没有

我们已经在服务器上使用Oracle很多年了,但是昨天有人在没有明确警告的情况下删除了它,它真的把我们的系统扔了

我已经按照cwallenpoole的建议采取了行动(谢谢!),并取得了良好的进展,PHP现在至少包括了oracle函数(即oci_connect),但我现在遇到了另一条错误消息:

警告:oci_connect()[function.oci connect]:ORA-12705:无法访问NLS数据文件或无效环境

我们已确保tnsnames.ora etc文件位于正确的位置,但仍然没有乐趣:(


谢谢

< P>好。这是我个人的噩梦。我半夜认真醒来……或者我没有,但我花了好几天来解决这个问题。

所以,这对我来说很有用:

  • 你有吗?如果没有得到它
  • 你有神谕吗?如果没有,就去拿
  • 解压缩instantclient
  • 将SDK解压到子目录中
  • 将ORACLE\u HOME添加为导出的命令行变量($ORACLE\u HOME in*nix,%ORACLE\u HOME%in win)。使其指向上述instantclient文件夹的完全限定路径
  • 创建ORACLE_BIN并使其指向SDK
  • 将ORACLE_HOME添加到您的路径
  • 重新启动Apache
  • 所以…这就是我通常做的…通常它是有效的…主要是


    实际上,我只能说祝你好运,祝你好运。

    你重启了web服务器吗?你100%确定你在调用
    phpinfo()
    时编辑了正确的php.ini吗?
    phpinfo()吗
    提到OCI?嗯,那么扩展没有被加载。这应该意味着它没有读取
    extension=php\u oci8\u dll
    行,否则它会在重新启动时崩溃。但是你说你已经检查了路径,它是正确的php.ini…奇怪!根据我的经验,它要么成功地读取了扩展n文件,或者它崩溃。那里没有灰色区域。您可以尝试做的是故意将文件名更改为不正确的名称。如果没有问题,它不会出于任何原因读取INI文件。非常感谢!它现在正在加载PHP文件,但会说:警告:oci_connect()[function.oci connect]:ORA-12705:无法访问NLS数据文件或无效环境:::叹气:::嗯,当时,我刚刚在Oracle Instant Client SDK站点下载了所有内容,并将其全部放在一个子目录中。如果不起作用,请告诉我,明天我将查看TNSADMIN内容。谢谢,但哪一个是Instant Client SDK下载?在t中最后,我在这里使用了JRE,但可能是错的:再次感谢!Instantclient在这里:您需要自己找出哪一个--它是特定于硬件体系结构的。谢谢!大量的闲聊,如果最终能让它工作的话-大量使用注册表、环境变量路径、tns_管理、oracle_home和其他各种各样的东西,呜呜!再次感谢:)