oci_connect()仅适用于cli

时间:2014-10-28 05:59:07

标签: php database oracle command-line-interface pecl

我已经安装了httpd和httpd-devel软件包,并在服务器上安装了php和php-devel。我为oracle下载并安装了基本客户端和sdk,然后继续使用PECL来安装OCI8扩展。

当我尝试在CLI上运行oci_connect功能页面时,它运行正常。但是当我尝试通过http加载相同的php页面时,我收到以下错误:

致命错误:在第10行的/var/www/html/index.php中调用未定义的函数oci_connect()

我比较了两者中的php ini并注意到 /etc/php.d/oci8.ini 文件已加载到cli和http版本中

但是,模块详细信息仅适用于cli版本:

oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.0.8
Revision => $Id: f04114d4d67cffea4cdc2ed3b7f0229c2caa5016 $
Oracle Run-time Client Library Version => 12.1.0.2.0
Oracle Compile-time Instant Client Version => 12.1

Directive => Local Value => Master Value
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

我无法解释为什么只有一个人在具有相同的配置文件时才能正确加载扩展名。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我设法通过禁用SELINUX来解决这个问题