【问题标题】:oci_connect() only works on clioci_connect() 仅适用于 cli
【发布时间】:2014-12-23 11:16:39
【问题描述】:

我已经安装了 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

我这辈子都想不通为什么只有一个正确加载扩展,而它们都具有相同的配置文件。

感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 2016-11-08
      • 2020-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2011-09-09
      相关资源
      最近更新 更多