linux系统下PHP无法调用oracle数据库的解决方法
生活随笔
收集整理的這篇文章主要介紹了
linux系统下PHP无法调用oracle数据库的解决方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們有項(xiàng)目php調(diào)用oracle 在正線上環(huán)境不能運(yùn)行成功。經(jīng)調(diào)試通過(guò)使用如下方式: $param = '00000999';$en = 'cn';@passthru("/usr/local/php/bin/php /home/wwwroot/pernodricard/api/test.php $param $en");
??? 以腳本形式可以運(yùn)行成功。
???
??? 懷疑是環(huán)境變量的問(wèn)題,經(jīng)測(cè)試如下環(huán)境變量在php-fpm下不存在:
$ORACLE_HOME = getenv("ORACLE_HOME"); echo "ORACLE_HOME=$ORACLE_HOME/n"; $LD_LIBRARY_PATH = getenv("LD_LIBRARY_PATH"); echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH/n"; $PATH = getenv("PATH"); echo "PATH=$PATH/n"; ??? ???
懷疑php-fpm啟動(dòng)后進(jìn)程清理了自身環(huán)境變更。通過(guò)修改 php-fpm.conf? 增加如下環(huán)境變量問(wèn)題解決:
??? ?? env[ORACLE_HOME] = $ORACLE_HOMEenv[LD_LIBRARY_PATH] = $LD_LIBRARY_PATHenv[PATH] = $LD_LIBRARY_PATH
??? 我們以前也有項(xiàng)目在php中調(diào)用java / python 程序不能成功,通過(guò)該方式應(yīng)該也可以解決。
??? 以腳本形式可以運(yùn)行成功。
???
??? 懷疑是環(huán)境變量的問(wèn)題,經(jīng)測(cè)試如下環(huán)境變量在php-fpm下不存在:
$ORACLE_HOME = getenv("ORACLE_HOME"); echo "ORACLE_HOME=$ORACLE_HOME/n"; $LD_LIBRARY_PATH = getenv("LD_LIBRARY_PATH"); echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH/n"; $PATH = getenv("PATH"); echo "PATH=$PATH/n"; ??? ???
懷疑php-fpm啟動(dòng)后進(jìn)程清理了自身環(huán)境變更。通過(guò)修改 php-fpm.conf? 增加如下環(huán)境變量問(wèn)題解決:
??? ?? env[ORACLE_HOME] = $ORACLE_HOMEenv[LD_LIBRARY_PATH] = $LD_LIBRARY_PATHenv[PATH] = $LD_LIBRARY_PATH
??? 我們以前也有項(xiàng)目在php中調(diào)用java / python 程序不能成功,通過(guò)該方式應(yīng)該也可以解決。
轉(zhuǎn)載于:https://my.oschina.net/tt2012/blog/95770
總結(jié)
以上是生活随笔為你收集整理的linux系统下PHP无法调用oracle数据库的解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到自己出轨是胎梦吗
- 下一篇: 教你如何在linux 下批量卸载