Не могу связать Xdebug с PHP 5.4

4384
Eugene

Сегодня я установил / обновил мой предыдущий php 5.3.xдо 5.4.11 . Это соответственно, как я могу обновить с php 5.3 до php 5.4.6 в Ubuntu?

Установка прошла успешно, но мне показалось, что xdebugона устарела из-за предупреждения при просмотре, php -vчтобы проверить успешность установки.

Поэтому я обновил pear/pecl, удалил предыдущую установку xdebug
sudo pecl uninstall xdebug

Установите php_iniнастройку pear/peclи попытайтесь еще раз sudo pecl install xdebug. Когда установка заканчивалась по какой-то причине, она показала мне, что php_iniне указывает на php.ini(когда это было на самом деле).

Тем не менее, установка прошла успешно, за исключением того, что, когда я пытался добавить /usr/lib/php5/20090626+lfs/xdebug.soфайл в /etc/php5/mods-availableи символическую ссылку на этот файл /etc/php5/conf.d, после перезапуска сервера я получил дляphp -v

sandbox@ubuntu:~$ php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/xdebug.so' - /usr/lib/php5/20090626+lfs/xdebug.so: undefined symbol: php_body_write in Unknown on line 0 PHP 5.4.11-1~precise+1 (cli) (built: Jan 24 2013 15:22:16) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies 

Кто-нибудь знает как это исправить? Мне действительно нужен Xdebug, чтобы быть на моей стороне)

ОБНОВЛЕНИЕ: забыл упомянуть, что все происходит на Ubuntu Server 12.04, который расположен на VirtualBox под хост-системой Windows.

ОБНОВЛЕНИЕ 1: мне предложили переместить 20090626+lfsкаталог в другое место, так как это может затенить более новую версию, но нет. После удаления я попытался переустановить xdebug ( sudo pecl uninstall xdebug & sudo pecl install xdebug), но по какой-то причине он был установлен в то же место. При просмотре peclконфига вижу

PHP extension directory ext_dir /usr/lib/php5/20100525+lfs 

, но при установке xdebug он распечатывает следующее

checking for PHP extension directory... /usr/lib/php5/20090626+lfs 
2

3 ответа на вопрос

2
steven

in my case php5-dev was already installed and i got the unable to load... message, too. Uninstalling xdebug did the trick for me:

sudo pecl uninstall xdebug 

and then

sudo pecl install xdebug 

the install directory changed now and i needed to modify my /etc/php5/mods-available/xdebug.ini to point to the new xdebug.so

1
Eugene

php5-dev needed to be installed.

sudo apt-get install php5-dev 
0
ferreirabraga

Включите следующие строки в файл php.ini.

[
xdebug ] zend_extension = xdebug.so

Отредактируйте файл /etc/php5/cli/conf.d/xdebug.ini

xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000

В следующем URL-адресе http://icdif.com/computing/2011/05/01/xdebug-ubuntu/ вы получите простое руководство по настройке xdebug, но не забудьте запустить команду:

sudo pecl установить xdebug (это коммандос

перезапустить апач

sudo /etc/init.d/apache2 restart

и совершенствуйся!

Работает как шарм!

Похожие вопросы