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



我需要在不重新编译php的情况下升级libxml库。已尝试以下步骤:

  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仍然只显示旧版本。请帮忙。

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

所以编译一个库并不意味着你可以把它用作PHP的扩展,你仍然需要从扩展编译一个新版本,并将新版本的库与它一起使用。

要将扩展升级到特定的库版本,通常需要从源代码编译它,libxml 的问题在于它默认与 PHP 捆绑在一起。

可选的 --

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

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

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

与其重新编译新版本的 PHP 并丢失所有当前的扩展配置,不如尝试仅从源代码重新编译 xml 扩展并覆盖当前扩展,如下所示:

克隆新版本的 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

最新更新