OCI8 - 如果未在脚本中显式设置TNS_ADMIN环境变量,则oci_connect失败

时间:2014-04-23 11:51:41

标签: php oci oci8

在openSUSE 13.1上安装PHP5和OCI8到目前为止工作正常。当我尝试在我的Apache上运行* .php以通过tnsnames.ora文件连接到oracle数据库时,我得到的是ORA-12154。当我添加行

putenv("TNS_ADMIN=/usr/lib/oracle/12.1/client");
一切正常。我查看了phpinfo()并在搜索TNS_ADMIN时获得了3个机器:

APACHE ENVIRONMENT: TNS_ADMIN           /usr/lib/oracle/12.1/client
PHP VARIABLES:      _SERVER["TNS_ADMIN"]    /usr/lib/oracle/12.1/client
APACHE ENVIRONMENT: TNS_ADMIN           /usr/lib/oracle/12.1/client

(是的,我在我的phpinfo()上有2次Apache环境,如果这是正确的话,不知道。)

有人可以帮助我让PHP使用这个变量...我不想在每个脚本中使用putenv命令...当在机器上本地使用php script.php我没有probs而我没有必须设置这个TNS_ADMIN ......很奇怪,我想......

有什么想法吗?

0 个答案:

没有答案