我会快点的。
我在Fedora 19系统上安装了Oracle 11g (带有适当的数据库、用户等)、Apache2.4.6和PHP5.5.4。
我想将PHP连接到Oracle。我真正想要做的是下载MDB2_Driver_oci8,我认为这很容易,但是在我做这样的事情之前,PHP需要启用插件,下面是我所做的:
pecl install oci8yum groupinstall "Development Tools"。yum install php-devel安装它。Configuration option 'php_ini' is not set to php.ini location
You should add 'extensions=oci8.so' to php.ini首先,我在/usr/ did 64/php/modules/中找到了一个locate oci8.so。
其次,我将它告诉我的内容添加到php.ini文件中。
第三,我检查了通常的php_info()测试页面--没有提到OCI8。啊哦。
第四,运行php -i和php -m都将oci8列为模块之一。真奇怪。
绝望中,我继续下载了MDB2_Driver_oci8。也许这能解决问题。不是的。
当我加载PHP网页时,它返回了以下内容:
错误消息:扩展oci8未编译到中
以及:MDB2错误:未找到
真奇怪。然后我决定检查错误日志:
无法加载动态库‘/usr/ line 64/php//oci8.so’- libclntsh.so.11.1:无法打开共享对象文件:在第0行中没有这样的文件或目录
现在我被困住了。我试着进入php.ini,发现extension_dir被注释掉了。我把它放回去了,好像只是把东西弄坏了。
注意事项:
./configure --with-oci8不工作。Fedora说没有这样的目录。这只是我的问题之一,在一个长期的问题与复制一个已经存在和工作,但死亡,设置。似乎每当我想要解决一个问题时,我都得先做X。通过做X,我发现了另一个问题,我必须通过做Y来解决,它有它自己的问题,等等。
任何帮助都将不胜感激。谢谢。
发布于 2013-11-12 03:59:35
在互联网上读了很多之后,我找到了这个页面,这表明我应该禁用SELinux,然后重新启动。
这招成功了。
发布于 2014-12-11 14:50:26
我知道这个问题有点老了--但我在这里写这个,以防其他人来找解决办法。
PHP扩展目录
要获得PHP扩展目录,请运行以下命令
php-config --extension-dirORACLE配置
当您运行oracle的config命令时,您需要将它与Oracle Home目录一起提供(假设您已经安装了ORACLE XE):
./configure -with-oci8=shared,$ORACLE_HOME/xeSELinux policy
您需要调整您的SELinux策略,以支持您正在努力实现的目标。不建议完全禁用它。
在Fedora系统上,尝试运行:
which audit2allow如果收到指示无法找到audit2allow的错误,则需要安装此包:
yum install policycoreutils-python一旦您有了这个包,您就可以将您的审计日志文件输送到audit2allow中,让它创建您的策略文件:
grep httpd /var/log/audit/audit.log | audit2allow -m httpd > 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 restartHTH
https://stackoverflow.com/questions/19901903
复制相似问题