在OpenSUSE上安装使用PHP-FPM的OCI8
问题描述:
我想在OpenSUSE 42.3上使用PHP-FPM 7安装OCI8,但扩展没有加载。在OpenSUSE上安装使用PHP-FPM的OCI8
- 我用RPM安装了oracle-instantclient12.2-basic和 oracle-instantclient12.2-devel。
- 我用pecl安装了oci8 php扩展。
- 我在php.ini中添加了扩展名。
- 我重新启动了apache和php-fpm服务。
在日志中,出现了一个错误:
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php7/extensions/oci8.so' - libmql1.so: cannot open shared object file: No such file or directory in Unknown on line 0
而且,我想尽了各种办法,但没有任何工程:
选项1:我加入了下一行的文件/等/ sysconfic /的Apache2和我重新启动服务:
export LD_LIBRARY_PATH="/usr/lib/oracle/12.2/client64/lib"
export ORACLE_HOME="/usr/lib/oracle/12.2/client64"
选项2:我加入了下一行的文件/etc/php7/fpm/php-fpm.d/www.conf和我RES tarted服务:
env[LD_LIBRARY_PATH] = /usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH
env[ORACLE_HOME] = /usr/lib/oracle/12.2/client64
方案3:我的下一行添加到文件/etc/ld.so.conf.d/oracle.conf,我跑和LDCONFIG我重新启动服务:
/usr/lib/oracle/12.2/client64/lib/
任何人都可以帮助我吗?
谢谢你!
答
对于在openSUSE 42.3安装使用PHP-FPM 7 OCI8,我们必须做下面的步骤:
- 安装Oracle-instantclient12.2 - 基本和Oracle-instantclient12.2-devel的使用RPM。
- 用pecl安装oci8 php扩展。
- 将扩展名添加到php.ini。
-
下一行添加到该文件/etc/ld.so.conf.d/oracle.conf和运行ldconfig
/usr/lib/oracle/12.2/client64/lib/
重新启动apache和php-fpm服务。
你对这三种“添加”解决方案做了什么?细节很重要。 (在你做完最后一个之后,你确实运行了ldconfig?) –
Hi @ChristopherJones,我在问题描述中添加了更多细节。谢谢! – cbccharlie
我会选择3(并确保干净地撤消选项1和2以避免未来的混淆和冲突)。你有安装libaio吗? (您是如何安装RPM的?)不要忘记,使用Instant Client时不应/不需要设置ORACLE_HOME。尝试在libclntsh.so文件上运行ldd并检查是否符合所有依赖关系。 –