我已经按照电子书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
请帮助!!!
答案 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