我有一个运行opensuse 11.4的虚拟服务器,通过pecl安装apache,php,oracle instantclient和oci。
我在11.4上运行的步骤是:
# Install instantclient rpm -Uvh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm rpm -Uvh oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm # Install OCI8 through pecl pecl install oci8 # add oci8 to modules vi /etc/php5/conf.d/oci8.ini extension=oci8.so # add LD_LIBRARY_PATH to apache vi /etc/sysconfig/apache2 # add to bottom of script export LD_LIBRARY_PATH="/usr/lib/oracle/11.2/client64/lib" # restart Apache /etc/init.d/apache2 restart
在OpenSUSE 12.1全新安装过程中庆祝同样的过程在apache启动时抛出以下消息:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php5/extensions/oci8.so' - libnnz11.so: cannot open shared object file: No such file or directory in Unknown on line 0
我不能得到任何解释,为什么它在11.4工作,在12.1停止工作。
有人可以指点我在正确的方向..
我在openSUSE 12.1上也遇到同样的问题,但是我从源码安装了oci8。 我做了一个从openSUSE到obs(打开构build服务)的php5供应商更改:
openSUSE --> obs://build.opensuse.org/server:php
供应商的变化也成为5.3.8到5.3.17的PHP升级,这是一个很好的function。 然后为libnnz11做了一个符号链接(看起来像环境variables不适合我):
ln -s /usr/lib/oracle/11.2/client/lib/libnnz11.so /usr/lib/libnnz11.so
现在这个扩展已经被识别出来了,而且工作正常。 如果想尝试使用由phpize生成的config.m4文件中包含的修补程序,但是没有为我工作,则会报告此问题的错误 。