[英]PHP, PEAR, and oci8 configuration
我会尽快讲的。
我在Fedora 19系统上安装了Oracle 11g(具有适当的数据库,用户等),Apache 2.4.6和PHP 5.5.4。
我想将PHP连接到Oracle。 我真正想做的是下载MDB2_Driver_oci8,我认为这很容易,但是在做这样的事情之前,PHP需要启用该插件,所以我做了以下工作:
pecl install oci8
: pecl install oci8
yum groupinstall "Development Tools"
yum install php-devel
进行yum install php-devel
。 Configuration option 'php_ini' is not set to php.ini location
You should add 'extensions=oci8.so' to php.ini
首先,我locate oci8.so
了一个locate oci8.so
在/ usr / lib64 / php / modules /中找到了它
其次,我将它告诉我的内容添加到了php.ini文件中。
第三,我检查了通常的php_info()测试页-没有提到OCI8。 哦哦
第四,同时运行php -
i和php -m
将oci8列为模块之一。 奇怪的。
无奈之下,我继续下载MDB2_Driver_oci8。 也许那会解决问题。 不。
当我加载PHP网页时,它返回以下内容:
错误消息:扩展名oci8未编译到PHP中
以及: MDB2错误:找不到
奇怪。 然后我决定检查错误日志:
PHP启动-无法加载动态库'/usr/lib64/php/modules/oci8.so'-libclntsh.so.11.1:无法打开共享库文件:在第0行的Unknown中没有这样的文件或目录
现在我被卡住了。 我尝试进入php.ini,发现extension_dir
被注释掉了。 我把它放回去了,这似乎只会破坏东西。
注意事项:
./configure --with-oci8
不起作用。 Fedora说没有这样的目录 。 这只是与已存在且正在运行但即将死去的安装程序的复制有关的一连串问题中的我的问题之一。 似乎无论何时我想解决问题,我都必须先做X。 通过执行X,我发现了另一个问题,我必须通过执行Y来解决,它有自己的问题,等等。
任何帮助将非常感激。 谢谢。
我知道这个问题有点老了-但是我在这里写这个是为了防止其他人来寻找解决方案。
PHP扩展目录
要获取您的PHP扩展目录,请运行以下命令
php-config --extension-dir
ORACLE配置
在为oracle运行config命令时,需要为其提供Oracle主目录(假定您已安装ORACLE XE):
./configure -with-oci8=shared,$ORACLE_HOME/xe
SELinux政策
您需要调整SELinux策略以支持您要实现的目标。 不建议完全禁用它。
在您的Fedora系统上,尝试运行:
which audit2allow
如果收到指示无法找到audit2allow
的错误,则需要安装此软件包:
yum install policycoreutils-python
获得此软件包后,可以将审核日志文件传输到audit2allow
以使其创建策略文件:
grep httpd /var/log/audit/audit.log | audit2allow -m httpd > http.te
这将创建一个http.te
阅读的文件http.te
,以供您查看它将对SELinux配置进行哪些策略添加。 如果您可以进行修改,请运行以下命令( 注意以下命令中的大写字母M,之前的小写字母m )
grep httpd /var/log/audit/audit.log | audit2allow -M httpd
semodule -i httpd.pp
这可能需要花费几秒钟来运行-您可以通过运行以下命令来验证该策略是否已安装:
semodule -l | grep httpd
您将需要重新启动httpd,以便它可以尝试加载oci8.so插件。
service httpd restart
高温超导
在互联网上阅读了很多书之后,我找到了此页面 ,表明我应该禁用SELinux,然后重新启动。
做到了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.