【发布时间】:2015-01-11 18:23:14
【问题描述】:
最近出于安全考虑升级了 Apache 和 PHP,也使用 PHP 与 Oracle 数据库进行通信。新的PHP版本只有php_oci8_12c.dll模块,所以我也安装了Oracle 12c客户端。
启用 oci8 模块后,当我运行 phpinfo() 时,我注意到该模块没有显示在 Apache 中,但是如果我运行 php -m,我会在那里找到 oci8 模块。进一步检查发现 PATH 环境变量自升级后未更新,并且新路径仅附加在 PATH 变量的末尾。
我粘贴在来自 Apache 的(精简的)PATH 数据下方:
C:\oracle\client11gR2_32\bin;C:\www\Apache24\bin;C:\www\php548;C:\database\mysql5528\bin;C:\oracle12c\client12c_32\bin;C:\www\php562;C:\www\php562\ext
与系统PATH变量比较:
C:\oracle12c\client12c_32\bin;C:\oracle\client11gR2_32\bin;C:\www\Apache24\bin;C:\www\php562;C:\www\php562\ext;C:\database\mysql5528\bin
我尝试重新启动 Apache 服务,也尝试卸载/重新安装,但没有任何效果。数据似乎以某种方式“缓存”在一个单独的位置,但我不知道在哪里。如果我重命名了 Oracle 客户端 11g HOME 文件夹,那么会检测到 oci8 模块并将其加载到 Apache 中。
我已经在整个互联网上搜索“重置”Apache PATH 变量,但无济于事,因此我将其发布在这里。请帮忙。
【问题讨论】:
标签: php oracle apache environment-variables oracle-call-interface