我有一个 CentOS 环境作为 VM 客户机运行。它在 Apache 2.0 上运行 Oracle 12.1 数据库以及 PHP 5.4.16。
我已完成安装步骤,以确保安装了正确的 OCI 驱动程序。我正在运行版本 2.0.10,如下所述:这里 >>,并指出了正确的方向$ORACLE_HOME
。
正如您从phpinfo()
屏幕上看到的,oci 扩展似乎正在从扩展目录加载:
但是,页面的其余部分没有相应的 OCI8 条目phpinfo()
(如下所述这里>>)。
内容/etc/php.d/oci8.ini
如下:
; Created by me: 2016-02-08
extension=oci8.so
我的扩展目录是:
并且,关于权限和 SELinux 上下文,此目录中的文件似乎是正确的(如您在此处所见):
当我index.php
在浏览器中加载文件时,它似乎主要加载成功,但对 OCI 代码(变量、常量、函数)的任何引用都出错(当然意味着扩展尚未在 PHP 内部注册):
有人知道我应该怎么做才能在 PHP 中正确注册 OCI8 扩展吗?
=== 编辑/解决方案?? ===
我关闭了 SELinux(请参阅此操作指南),突然间 OCI 似乎起作用了。无论如何,这都不是一个理想的解决方案,因为它使整个操作系统更容易受到攻击。但它目前可以满足我的要求。
另一方面,如果有人知道如何启用 SELinux,并使其与 OCI8 一起工作,我们将非常感谢您的评论!