来自PHP连接的Linux Oracle unix_odbc不工作



我使用oracle客户端19(tnsnames.ora(在RHEL上运行php v5。我安装了odbcinst.ini和odbc.ini,并通过以下命令提示符进行操作:

isql -v myOdbc username pw

我必须指定LD_LIBRARY_PATH才能使其工作。但现在,当我在php中运行测试页面并尝试odbc_connect命令时,它会给我以下错误:;无法打开lib'/var/opt/oracle/client2/lib/libskora.so.19.1'"-它是LD_LIBRARY_PATH 中的值

因此,似乎没有为Apache或PHP正确设置LD_LIBRARY_PATH?如果我做

php --info 

返回:_SERVER["LD_LIBRARY_PATH"]=>var/opt/oracle/client2/lib所以PHP";似乎";知道LD_LIBRARY_PATH,但不知何故Apache或其他什么东西不知道?

这是odbcinst.ini

[ODBC]
Trace=Yes
TraceFile=/tmp/sql.log
ForceTrace=No
Pooling=No
UsageCount=2
[Oracle_ODBC_Driver_in_ora19c]
Description=Oracle 19c ODBC driver.
Driver=/var/opt/oracle/client2/lib/libsqora.so.19.1
Setup=
FileUsage=
CPTimeout=
CPReuse=
UsageCount=2

这是odbc.ini

[myOdbc]
Description     = wilson
Driver          = Oracle_ODBC_Driver_in_ora19c
DSN             = myDbCon.com
ServerName      = myDbCon.com

显然/var/opt/oracle/client2/lib/libskora.so.19.1存在并且是可执行的,或者isql不起作用,对吗?

我已经验证了所有的都是64位架构;思考;我只需要知道在哪里/如何设置LD_LIBRARY_PATH,这样当从php调用时,它就知道驱动程序在哪里?

发现问题,如果我们将LD_LIBRARY_PATH和ORACLE_HOME添加到/etc/sysconfig/httpd,那么它就工作了!!!希望这能帮助其他人!

最新更新