【发布时间】:2017-04-27 07:56:06
【问题描述】:
ubuntu 16.10/nginx/php7.0/oracle 11 xe
我正在尝试通过 PHP 连接到 Oracle 数据库。我收到以下错误。
$conn = oci_connect('login', 'pass', 'localhost/xe');
警告:oci_connect():OCIEnvNlsCreate() 失败。有东西 您的系统有问题 - 请检查 ORACLE_HOME 和 LD_LIBRARY_PATH 已设置并指向正确的目录 /var/www/blah.php 第 26 行
警告:oci_connect():尝试检索错误文本时出错 /var/www/blah.php 第 26 行中的 ORA-01804
真正请求变量,它们将是空的。此代码返回空字符串。
$test = getenv('LD_LIBRARY_PATH')." ".getenv('ORACLE_HOME');
print ("$test");
但在 phpinfo() 中会显示出来。
我可以将环境变量写入每个文件,但这不是一个选项。
putenv("ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe");
putenv("LD_LIBRARY_PATH=-Wl,-rpath,/u01/app/oracle/product/11.2.0/xe/lib -L/u01/app/oracle/product/11.2.0/xe/lib -lclntsh");
我能做什么?
【问题讨论】:
-
你终于解决问题了吗?在那种情况下,怎么办?谢谢
标签: php nginx oracle-call-interface