想实现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也得装个库?

解决方案 »

  1.   

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

  2.   

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

  3.   

    您的这个客户端的版本与服务器配套吗?在 window 中
    php 是通过 php_oci8.dll 经 oci.dll 与 oracle 交互的
    那个 oci.dll 是 oracle 客户端携带的
    在 linux 中,应该也是一样的oracle 在不断的升级,php 不可能为每一个 oracle 版本书写接口程序
    所以采用了以 oci8 扩展连接 oracle 客户端接口 oci 的方案
      

  4.   

    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
      

  5.   

    php -m 看看有没有报错
      

  6.   

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