【问题标题】:where php searches the modules .so libraries on linux after compilation?编译后php在哪里搜索linux上的模块.so库?
【发布时间】:2015-08-27 08:43:41
【问题描述】:

我正在使用 php 5.3 安装 PDO_INFORMIX。

这是我的配置标志:

'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--enable-shared' '--disable-rpath' '--without-pear' '--without-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-ucd-snmp-hack' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--enable-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-gd' '--disable-dom' '--disable-dba' '--without-unixODBC' '--enable-pdo' '--enable-xmlreader' '--enable-xmlwriter' '--with-mcrypt=static' '--enable-sqlite3' '--with-sqlite3' '--disable-phar' '--disable-fileinfo' '--enable-json' '--without-pspell' '--enable-wddx=shared' '--with-curl' '--disable-posix' '--disable-sysvmsg' '--disable-sysvshm' '--disable-sysvsem' '--with-pdo-informix=/opt/IBM/informix' '--enable-intl' '--enable-mbstring' '--with-mysql' '--with-mysqli' '--enable-pcntl' '--with-pdo-mysql' '--with-pspell' '--with-libedit' '--with-readline' '--enable-shmop' '--with-snmp' '--enable-soap' '--enable-sockets' '--without-pdo-pgsql' '--with-pdo-dblib' '--with-imap=/usr/local/src/imap-2007e' '--with-imap-ssl'

但经过编译和一些测试后,我发现 PDO_INFORMIX 的源版本错误。他们是 1.3.0 。我得到了正确的版本 - 1.2.6 - 并单独编译了 pdo_informix.so。比我将库放在 ext dir 和我现在拥有的东西..

调用命令:

which -a php 

表明我有 2 个 php。在 /usr/bin/php/usr/local/bin/php

调用测试脚本,显示加载的 pdo_informix 版本与 /usr/bin/local/php 我得到了正确的版本 - 1.2.6。但是 /usr/bin/php 的相同测试显示 1.3.0 。更改 php.ini 中的 extension_dir 表明即使他在确切目录中看到 lib,它也已经加载:

PHP Warning:  Module 'pdo_informix' already loaded in Unknown on line 0

所以...

找出它为什么使用 1.3.0 版本的正确方法是什么,是否有不重新编译 php 的出路?

【问题讨论】:

    标签: php linux compilation libraries


    【解决方案1】:

    正如我搜索和发现的那样,在使用 source 编译后,php 将信息放入其 conf 和缓存中。使用正确的 pdo_informix 源重新编译后,我的问题得到了解决。

    希望这能帮助一些遇到同样问题的人 =)

    【讨论】:

      猜你喜欢
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      相关资源
      最近更新 更多