Использование функций xdiff в PHP - PullRequest
0 голосов
/ 19 сентября 2018

Я запускаю PHP7 на своем сервере CentOS и понимаю, что для функций 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()

Я предполагаю, что пропускаю шаг, но понятия не имею.Что мне нужно сделать, чтобы это работало?

1 Ответ

0 голосов
/ 19 сентября 2018

Итак, похоже, что библиотека расширений существует и что вы используете правильный 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, это зависит от вашего дистрибутива.

Кроме того, может быть полезно обновить настройки PECL в зависимости от конфигурации (php -i):

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