OCI8 PHP错误OCIEnvNlsCreate()失败

OCI8 PHP错误OCIEnvNlsCreate()失败,php,oracle10g,oci8,Php,Oracle10g,Oci8,在连接/运行Oracle SQL命令时,我经常会收到随机错误。这在99%的时间里都有效,但在大约10分钟的随机时间里,我们会收到大量错误,SQL查询都会失败 对下面的代码表示抱歉,只是想提供帮助 错误是: PHP Warning: oci_connect() [<a href='function.oci-connect'>function.oci-connect</a>]: OCIEnvNlsCreate() failed. There is something wr

在连接/运行Oracle SQL命令时,我经常会收到随机错误。这在99%的时间里都有效,但在大约10分钟的随机时间里,我们会收到大量错误,SQL查询都会失败

对下面的代码表示抱歉,只是想提供帮助

错误是:

PHP Warning:  oci_connect() [<a href='function.oci-connect'>function.oci-connect</a>]:  OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries in /var/www/db.php on line 59, referer: https://www.abc.com/abc.php
其他有用信息:

root@server:/# cat /etc/apache2/envvars
# envvars - default environment variables for apache2ctl
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid
export LD_LIBRARY_PATH=/opt/oracle/instantclient
在脚本内部,我们调试任何错误,并在遇到这些错误时通过电子邮件发送报告,以进一步尝试调试问题。我正在做以下工作:

if(isset($ocierr) && $ocierr!="")
   $mb.="Oracle OCI Error: ".$ocierr."\n\n";

$mb.="Oracle Error Message: ".print_r($errmsg,true)."\n\n";
$mb.="Debugging:\nLD_LIBRARY_PATH: ".var_export(getenv('LD_LIBRARY_PATH'),true);
返回:

Oracle Error Message: 
Cannot contact to Oracle

Debugging:
LD_LIBRARY_PATH: '/opt/oracle/instantclient'

我建议您联系供应商寻求支持,他们有一个很好的支持团队。您的错误看起来非常深奥,并且非常特定于项目。我必须承认,这闻起来像是在那里留下错误信息的程序员也不太清楚为什么会发生这种情况。对不起,你说的“供应商”是指谁。我相信这个错误实际上可能掩盖了其他一些东西,因为每个请求都会发生这种情况,比如说10分钟,然后正常工作。可能是oracle拒绝了连接
Oracle Error Message: 
Cannot contact to Oracle

Debugging:
LD_LIBRARY_PATH: '/opt/oracle/instantclient'