如何在Linux for php中将libxml升级到特定版本?

时间:2018-09-25 11:23:21

标签: php libxml2

我需要升级libxml库而不重新编译php。尝试了以下步骤:

  1. ftp://xmlsoft.org/libxml2/(。tar.gz文件)下载所需版本
  2. 解压缩.tar.gz文件和“ cd”命令以进入该文件夹(例如:libxml2-2.9.5)
  3. 然后执行以下命令

    ./configure
    make
    sudo make install
    

所有成功,但php -I | grep libxml仍仅显示旧版本。请帮忙。

1 个答案:

答案 0 :(得分:0)

您在库和PHP扩展之间混合使用,PHP扩展只是该库的包装,以便能够在您的PHP代码中使用它。

因此编译库并不意味着您可以将其用作PHP的扩展,您仍然需要编译来自扩展的新版本并使用库的新版本。

要将扩展程序升级到特定的库版本,通常需要从源代码进行编译,而libxml的问题是默认情况下它与PHP捆绑在一起。

  

可选的--with-libxml-dir指令用于指定   libxml在正在编译PHP的系统上的位置,   否则,将仅扫描默认位置。

因此,您可能需要从源代码重新编译新的PHP版本,并将新版本的libxml的新编译的bin传递给它,就像manual中提到的那样:-

./configure .... --with-libxml-dir=/path/to/libxml

您可以尝试仅从源代码重新编译xml extension并按如下所示覆盖当前扩展名,而不是重新编译新版本的PHP并丢失所有当前扩展名配置:

克隆新版本的PHP:

git clone git@github.com:php/php-src.git
cd php-src/ext/libxml
git checkout YOUR_INSTALLED_PHP_VERSION
phpize
./configure --with-libxml-dir=/path/to/libxml
make
make install