Установка XDEBUG читает неправильную версию PHP

У меня Ubuntu 16.04 vagrant box работает на php 7.1. Когда я пытаюсь собрать xdebug, запустив./configure в xdebug-2.6.0, я получаю

Check for supported PHP versions... configure: error: not supported. Need a PHP version >= 7.0.0 and < 7.3.0 (found 5.5.9-1ubuntu4.24)

PHP -v дает

Xdebug requires Zend Engine API version 320170718.
The Zend Engine API version 320160303 which is installed, is outdated.

PHP 7.1.15-1+ubuntu14.04.1+deb.sury.org+2 (cli) (built: Mar  6 2018 11:27:08) ( NTS )

Итак, система работает под управлением 7.1, но по какой-то причине скрипт настройки считает, что мы все еще на 5.5.9

Я довольно сильно ударил Google, но все еще не могу найти способ обновить движок Zend.

Есть идеи?

2 ответа

Это происходит потому, что вы настраиваете с настройками по умолчанию, которые отличаются от версии PHP, которую вы пытаетесь настроить.

Точно так же, как вы видели версию PHP, использующую php -vкоманду, проверьте версию php-config с помощью php-config --versionкоманда, она должна быть такой же, как php -v, но в вашем случае она будет другой и, следовательно, эта проблема.

Теперь давайте поговорим о том, как мы можем решить эту проблему. Поскольку вам нужна другая версия config, вы должны указать ее в команде configure.

Например, в вашем случае вам нужен php-config7.1 (потому что вы используете PHP v7.1, аналогично для 7.2 у вас есть php-config7.2 и т. д.)

Чтобы указать команде configure конкретную версию PHP, вам нужно указать, что в качестве флага, называемого with-php-config, и значением должно быть местоположение файла php-config, пример будет

      ./configure --with-php-config=/usr/bin/php-config7.1

Надеюсь, это решит проблему.

Я предполагаю, что вы запускаете phpize перед запуском./configure. Вместо этого вам нужно запустить phpize7.1, а затем./configure

если у вас не установлен phpize7.1, вы можете установить его через:

sudo apt install apt install php7.1-dev
Другие вопросы по тегам