Как я могу заставить PHP использовать версию iconv libiconv вместо версии glibc, установленной в CentOS?

Код, над которым я работаю, отлично работает в Windows XP и Mac OS X. При тестировании в CentOS (а также в Fedora и Ubuntu) он работает некорректно. . Поиск в сети привел меня к выводу, что проблема связана с версией glibc iconv . Итак, теперь мне нужна libiconv версия iconv для правильной работы Zend Lucene.

Я уже загрузил libiconv и настроил его с - prefix = / usr / local , make , затем make install без ошибок. Похоже, что он был успешно установлен, поскольку при выполнении / usr / local / bin / iconv --version указывается, что это версия libiconv . Хотя простой iconv --version по-прежнему дает версию glibc .

Затем я перекомпилировал PHP из исходного кода, используя - with-iconv = / usr / local ]. Но все же phpinfo () показывает, что iconv используется как версия glibc . Я также уже пробовал несколько других компиляций, используя - with-iconv-dir или используя / usr / local / bin / php .

Конечно, я перезапустил Интернет сервер после перекомпиляции PHP.

У меня есть следующая строка в моем /etc/httpd/conf/httpd.conf :

LoadModule /usr/lib/httpd/modules/libphp5.so

и libphp5.so на самом деле находится в ] / usr / lib / httpd / modules .

phpinfo () показывает PHP 5.3.3. Я также yum удалил предустановленный PHP 5.1. * На всякий случай. Но iconv все еще использует версию glibc.

ldd /usr/lib/httpd/modules/libphp5.so дает

linux-gate.so.1 =>  (0x003b1000)
/usr/local/lib/preloadable_libiconv.so (0x00110000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x001ed000)
librt.so.1 => /lib/librt.so.1 (0x0021f000)
libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15 (0x003b2000)
libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0x0026e000)
liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0x00370000)
libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00516000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x002a8000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00228000)
libz.so.1 => /usr/lib/libz.so.1 (0x00328000)
libcurl.so.3 => /usr/lib/libcurl.so.3 (0x00f23000)
libm.so.6 => /lib/libm.so.6 (0x0033b000)
libdl.so.2 => /lib/libdl.so.2 (0x00364000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0037e000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00f5f000)
libssl.so.6 => /lib/libssl.so.6 (0x0862c000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x04145000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x08e2d000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0611a000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x005f4000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x0024e000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x071f5000)
libc.so.6 => /lib/libc.so.6 (0x08aa6000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00397000)
/lib/ld-linux.so.2 (0x00251000)
libresolv.so.2 => /lib/libresolv.so.2 (0x0748a000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x07ddf000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x062b7000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00369000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0913b000)
libsepol.so.1 => /lib/libsepol.so.1 (0x07eb4000)

Это кросс-сообщение от: NullPointer.ph

9
задан linuxbuild 31 January 2011 в 13:18
поделиться