【发布时间】:2017-06-14 13:41:27
【问题描述】:
我对 PHP PDO 和 Oracle 有一个非常令人费解的情况。我是 在 Centos 7 上运行。我的脚本,在 Apache 下得到错误 “错误:找不到驱动程序”,但是脚本从命令行运行良好。
当我运行测试脚本以列出驱动程序时,从命令行:
foreach(PDO::getAvailableDrivers() 作为 $driver)
echo $driver, '
', "\n";
它返回:
mysql
oci
pgsql
sqlite
但是在apache下运行时,缺少oci:
mysql
pgsql
sqlite
为了增加这个谜团,运行 phpinfo() 显示在该部分 “已解析的其他 .ini 文件”是 /etc/php.d/pdo_oci.ini 的条目(适用于控制台和 apache)。
关于为什么 oci 驱动程序在脚本时未显示的任何想法 是在apache下运行的吗?
【问题讨论】:
-
你能比较一下CLI下
php -m的输出和apache中get_loaded_extensions()的输出吗? -
嗨apokryfos。它显示了相同的情况。 php -m 显示“PDO_OCI”,但是apache下没有get_loaded_extensions()对应的模块。这是一个很长的列表。你有什么具体的要求吗?
标签: php oracle pdo oracle-call-interface