我需要升级libxml库而不重新编译php。尝试了以下步骤:
ftp://xmlsoft.org/libxml2/
(。tar.gz文件)下载所需版本.tar.gz
文件和“ cd”命令以进入该文件夹(例如:libxml2-2.9.5)然后执行以下命令
./configure
make
sudo make install
所有成功,但php -I | grep libxml
仍仅显示旧版本。请帮忙。
答案 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