首页 >后端开发 >php教程 >ubuntu 下 php未能成功加载oci8.so

ubuntu 下 php未能成功加载oci8.so

WBOY
WBOY原创
2016-06-23 14:21:071048浏览

想实现PHP在ubuntu下连接oracle数据库,已下载并解压的instantclient,放到了/opt/oracle/instantclient目录。
使用pecl install oci8,编译成功,自动放到了/usr/lib/php5/2009...../里
php.ini里面添加了extension=oci8.so;
/etc/enviroment文件里设置PATH=$PATH:/opt/oracle/instantclient
按理说应该重启电脑可以成功加载oci8模块了,但是phpinfo()显示还是没有加载,页面中显示apache enviroment的PATH值还是默认的/usr/bin,/usr/sbin,/bin,没有出现/opt/oracle/instantclient.
enviroment的PATH值居然也还是默认是的。我想问题应该出在这里吧,就是没有把oracle端的库加载进来。

之前在window server 2003的时候,使用windows的oracle客户端也出现问题,其他都对的,就是不加载,最后查看了事件日志,是没有按照c++库,难不成ubuntu也得装个库?


回复讨论(解决方案)

extension=oci8.so; 这里改成完整的路径看看

问题应该不是这里,从Phpinfo()上面看,extension_dir=/usr/lib/php5/20090626+lfs,这个oci8.so就在这里面的,我感觉应该是客户端的库没加进来

您的这个客户端的版本与服务器配套吗?

在 window 中
php 是通过 php_oci8.dll 经 oci.dll 与 oracle 交互的
那个 oci.dll 是 oracle 客户端携带的
在 linux 中,应该也是一样的

oracle 在不断的升级,php 不可能为每一个 oracle 版本书写接口程序
所以采用了以 oci8 扩展连接 oracle 客户端接口 oci 的方案

用phpinfo查查看。

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/oci8.so

/usr/local/apache2/bin/apachectl restart

参考 : http://www.wanghan.org/wordpress/?p=94

php -m 看看有没有报错

问题找到,从日志中发现是没有安装libaio1

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn