xdebug не загружается.не найден в phpinfo () после перезапуска apache - PullRequest
2 голосов
/ 30 июня 2010

Я обыскивал каждый ресурс, который мог найти, но оказался пустым. Я получаю страшное сообщение «Ожидание соединения» в NetBeans 6.9, когда начинаю сеанс отладки. После долгих чтений большинство людей могут заставить phpinfo () показать, что он загрузил модуль xdebug. Не так со мной.

Я загрузил источник через SVN, используя этот вызов

svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug

Я переключился в каталог xdebug и затем запустил phpize на источнике

sudo /Applications/MAMP/bin/php5/bin/phpize
Password:
grep: /Applications/MAMP/bin/php5/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php5/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php5/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

Большой жирный ничего! Справочные каталоги даже не существуют. Итак, я делаю предположение, что любые изменения .ini, которые я делаю после этого, бесполезны. Если я делаю php whereis, я нахожу его в / usr / bin. Это php по умолчанию, предварительно загруженный с ОС. Я не хочу этого. Мне нужно использовать php, установленный с MAMP. Я не могу поверить, как безумно расстраивает то, что это работает!

Для справки, мой раздел xdebug в моем php.ini выглядит так:

[xdebug]
    ; xdebug config for Linux and Mac OS X
    zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.idekey="netbeans-xdebug"
    xdebug.profiler_enable=1
    xdebug.profiler_output_name=xdebug.cachegrind-out.%s.%p
    xdebug.remote_log="/Applications/MAMP/logs/xdebug_log.log"

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

Я доверяю экспертам, потому что, очевидно, я не один из них. Я абсолютно не знаю, как действовать в этом направлении.

Заранее спасибо.

Ответы [ 3 ]

7 голосов
/ 06 октября 2010

Чтобы использовать phpize в каталоге MAMP вместо системного пути, вы должны добавить каталог MAMP для бинарных файлов PHP в ваш $ PATH.Ниже я использую MAMP 1.9.1, который предлагает PHP 5.2 и PHP 5.3.Мы предполагаем, что вы компилируете для PHP 5.3.

Откройте или создайте ~/.bash_profile и поместите следующее содержимое:

#Add MAMP binaries to path
export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH"

Возможно, вам также потребуется chmod для двоичных файлов внутри /Applications/MAMP/bin/php5.3/bin чтобы быть исполняемым:

chmod 755 /Applications/MAMP/bin/php5.3/bin/pear
chmod 755 /Applications/MAMP/bin/php5.3/bin/peardev
chmod 755 /Applications/MAMP/bin/php5.3/bin/pecl
chmod 755 /Applications/MAMP/bin/php5.3/bin/phar
chmod 755 /Applications/MAMP/bin/php5.3/bin/phar.phar
chmod 755 /Applications/MAMP/bin/php5.3/bin/php
chmod 755 /Applications/MAMP/bin/php5.3/bin/php-config
chmod 755 /Applications/MAMP/bin/php5.3/bin/phpcov
chmod 755 /Applications/MAMP/bin/php5.3/bin/phpize

Перезапустите сеанс терминала для загрузки нового $ PATH.Запустите команду which phpize, и она должна отобразить /Applications/MAMP/bin/php5.3/bin/phpize.Если нет, путь к phpize в вашем каталоге MAMP не загружается в ваш $ PATH.Используйте echo $PATH в Терминале, чтобы убедиться, что /Applications/MAMP/bin/php5.3/bin находится в $ PATH.

Чтобы компилировать xDebug, вам нужны файлы заголовков с момента компиляции PHP.Они доступны на веб-сайте MAMP в DMG и называются «Компоненты MAMP»: http://www.mamp.info/en/downloads/index.html

Распакуйте компоненты MAMP и скопируйте MAMP_src на рабочий стол.Распакуйте MAMP_src/php-5.3.2.tar.gz и переместите его в путь включения, присутствующий в php-config --includes, который должен включать /Applications/MAMP/bin/php5.3/include/php.

cd ~/Desktop/MAMP_src
tar -xvzf php-5.3.2.tar.gz
mkdir -p /Applications/MAMP/bin/php5.3/include
mv php-5.3.2/ /Applications/MAMP/bin/php5.3/include/php

Теперь вы можете запустить phpize в директории источника xDebug.

3 голосов
/ 07 июля 2011

У меня была похожая проблема с XAMPP на Mac OSX 10.6.

Я не получил номера версии при запуске phpize в каталоге загрузки xdebug.

PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No

Мне пришлось установить «Пакет разработки», который добавляет / Applications / XAMPP / xamppfiles / include и другиефайлы для вашей установки XAMPP.Установка пакета разработки также исправила pecl, поэтому я попытался использовать pecl для установки xdebug.

pecl install xdebug

, но apache не удалось запустить с ошибкой

Failed loading /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so:  dlopen(/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so, 9): no suitable image found.  Did find:
        /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so: mach-o, but wrong architecture

Я попытался скомпилировать из исходного кода и получил то же самое' неправильная архитектура ' ошибки

Наконец, я просто использовал двоичный файл KomodoIDE из активного состояния, который работал.

0 голосов
/ 30 июня 2010

Я только начал работать с xdebug из-за проблем с PHP 5.3.1.Я использовал PECL согласно инструкциям пару недель назад, но похоже, что phpize - это новый черный цвет.Я просмотрел новые инструкции (сгенерированные из моего phpinfo ()) @ http://xdebug.org/find-binary.php

это примечание:

Run: phpize

As part of its output it should show:

Configuring for:
PHP Api Version:         20090626
...
Zend Extension Api No:   220090626
If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

2 вещи:

  1. Вы проверили, что phpize обновлен?

  2. , если это не работает, попробуйте следующие инструкции: http://xdebug.org/docs/install

...