Maison >développement back-end >tutoriel php >ubuntu 下 php未能成功加载oci8.so
想实现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