关于Ubuntu错误的oci8

时间:2010-08-19 10:05:32

标签: oracle ubuntu oci8

我已经按照电子书Underground Oracle-PHP-manual在ubuntu中安装了oracle xe 10g,apache,php。但是当我运行一些文件连接oracle-PHP使用oci_connect()显示错误:

Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. 
There is something wrong with your system - 
please check that ORACLE_HOME and LD_LIBRARY_PATH 
are set and point to the right directories   
in /usr/local/apache/htdocs/con_oracle.php on line 2

请帮助!!!

3 个答案:

答案 0 :(得分:1)

我花了6个多小时才发现这个错误。 所有变量设置得很好,读取oracle文件夹集的权限,在网上读了几十页,但没办法解决这个问题。

最后我尝试了最后一件事。 OCIEnvNlsCreate()失败失败的原因是文件夹 / opt / oracle / instantclient 的权限!当我将所有者和组设置为www-data(在我的情况下)时,连接已成功建立! :-) 我通过网络阅读了有关权限的信息,但事实并非如此。

奇怪的是,这是我第二次安装这个模块,第一次没有这样的问题!

我希望这对任何人都有帮助,甚至在我将来再次安装它时也会对我有帮助! :-D 问候。

答案 1 :(得分:0)

那么,$ ORACLE_HOME和$ LD_LIBRARY_PATH是否指向正确的目录?

答案 2 :(得分:0)

编辑/ usr / local / apache / bin / envvars中的envvars文件

如果您使用oracle xe 10g

,请添加此项
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib:
祝你好运:D