Heim >Backend-Entwicklung >PHP-Tutorial >ubuntu 下 php未能成功加载oci8.so

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

WBOY
WBOYOriginal
2016-06-23 14:21:071035Durchsuche

想实现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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn