在 PHP 中使用 xdiff 函数

Using xdiff functions in PHP

我在我的 CentOS 服务器上 运行ning PHP7,我知道 xdiff 函数需要添加合适的 PECL 包。

我有运行以下:

pecl install xdiff-2.0.1

在我的 php.ini 文件中,我尝试过:

extension=xdiff.so

extension=/usr/lib64/php/modules/xdiff.so

在这两种情况下,当我尝试使用 xdiff_string_patch():

时都会出错
Call to undefined function xdiff_string_patch()

我想我错过了一步,但我不知道。我需要做什么才能让它正常工作?

所以,扩展库似乎确实存在,并且您使用的是正确的 php.ini,但是,在 运行 一个 PHP 脚本中弹出以下警告:

PHP Warning: PHP Startup: xdiff: Unable to initialize module Module compiled with module API=20151012 PHP compiled with module API=20170718 These options need to match in Unknown on line 0 /etc/php.d/40-xdiff.ini

此警告表明模块与您的 PHP 二进制 之间 版本不匹配。

要解决此问题,请卸载 PECL 扩展并将您的 php-dev 二进制文件升级到适合您的 PHP 版本的版本,这取决于您的发行版。

此外,根据您的配置 (php -i),更新您的 PECL 设置可能会有用:

(sudo) pecl config-set php_ini /etc/php.ini 
(sudo) pecl config-set php_bin $(which php)