Установите PHP 5 без libxml2 - PullRequest
7 голосов
/ 04 марта 2009

Я пытаюсь установить копию PHP 5 в свой домашний каталог на школьном компьютере. Проблема в том, что всякий раз, когда я пытаюсь это сделать, он жалуется, что моя копия libxml2 слишком устарела для работы.

Есть ли способ установить без обновления libxml2, поскольку у меня нет разрешения на обновление.

Есть предложения?

Ответы [ 4 ]

9 голосов
/ 04 марта 2009

В качестве альтернативы, вы можете установить libxml в свой домашний каталог и передать настройку в место, где вы его установили, т.е.

--with-libxml-dir=<your local install>

При установке libxml вам просто нужно использовать опцию --prefix= с настройкой, чтобы указать, что вы не хотите выполнять установку системы.

Предполагая, что вы скомпилировали клиент Cli (и что путь поиска lib для текущего пользователя и пользователя apache одинаков), вы проверяете, что правильный lib связан с

# ldd /usr/bin/php
linux-vdso.so.1 =>  (0x00007ffff71ff000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000030f3c00000)
libedit.so.0 => /usr/lib64/libedit.so.0 (0x00000030e8000000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00000030f7400000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00000030e7800000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00000030f7800000)
libz.so.1 => /lib64/libz.so.1 (0x00000030e6c00000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x00000030f9400000)
librt.so.1 => /lib64/librt.so.1 (0x00000030e7000000)
libm.so.6 => /lib64/libm.so.6 (0x00000030e5c00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000030e6400000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000030f6800000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000030f2400000))
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00000030f3000000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00000030eb400000)
libc.so.6 => /lib64/libc.so.6 (0x00000030e6000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000030e7c00000)
libfreebl3.so => /lib64/libfreebl3.so (0x00000030f3800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000030f7c00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e6800000)
/lib64/ld-linux-x86-64.so.2 (0x00000030e5800000)

libxml находится в середине списка библиотек.

7 голосов
/ 04 марта 2009

Если вам не нужна поддержка xml, просто отключите ее, как описано на этой странице :

--disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear

С другой стороны, вы можете попытаться скомпилировать более новую версию libxml без ее установки.

3 голосов
/ 04 марта 2009

Существует обсуждение этой проблемы в обсуждении документации по конфигурации PHP . Вы можете отключить функции XML, чтобы избежать проблем, но вы потеряете много полезных функций: --disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear

Большинство комментариев настоятельно рекомендуют, что это плохая идея. Я бы посоветовал попытаться выяснить, как обновить xmllib.

0 голосов
/ 26 апреля 2010

как насчет установки xmltools ?

...