it-swarm-ru.tech

PHP отладка в OS X - безнадежно?

Я пытался:

  1. Xdebug и Eclipse. Eclipse запускает веб-браузер, но браузер пытается получить доступ к несуществующему файлу в пакете .app Eclipse.
  2. Xdebug и NetBeans. Это немного лучше; браузер открывает страницу в/tmp с надписью "Запуск. Пожалуйста, подождите ...", но ничего не происходит.
  3. Xdebug и debugclient, инструмент CLI, который поставляется вместе с Xdebug. MacPorts (который я использовал для установки PHP и ​​Xdebug), похоже, не устанавливает его сам по себе, и когда я пытаюсь скомпилировать его вручную, мне говорят "у вас странный libedit". Установка libedit через MacPorts не решает эту проблему.
  4. Отладчик Zend (точное имя ускользает от меня прямо сейчас) и Eclipse. Я не могу вспомнить, в чем была проблема, так как это было некоторое время назад, но это не сработало.

Что касается Xdebug, по крайней мере, я уверен, что установил его правильно. Он обнаруживается как с phpinfo () в файле PHP, так и с php -i в CLI.

Если кому-то удалось отладить PHP тем или иным способом на Mac, я был бы признателен, если бы вы поделились со мной, как это сделать. Засорение кода с помощью var_dump($foo);die(); быстро устареет. Бонусные баллы, если это можно сделать без с помощью какого-либо редактора вредоносных программ, такого как Eclipse, или той дорогой проприетарной вещи, которую Zend хочет продать мне.

Мой сервер подключается к PHP через FastCGI, если это делает diff.

27
Garrett Albright

Вы можете посмотреть на MacGDBp . Это новый, бесплатный, и пользовательский интерфейс выглядит великолепно. Он также использует расширение Xdebug PHP. Вы можете найти инструкции в разделе help , который включает в себя конфигурации Xdebug, а также хороший обзор приложения от ребят из Particletree здесь: Silence The Echo с MacGDBp .

21
Brian Benzinger

Вот как я это сделал:

1 - Скопируйте последнюю версию xdebug.so из http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging в/usr/libexec.

2 - Добавьте следующее в глобальный php.ini:

zend_extension="/usr/libexec/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

3 - Перезапустите Apache и запустите MacGDBp .

11
Luke Dennis

Просто хотел обновить эту ветку, чтобы вы знали, что здесь есть новое приложение http://codebugapp.com/ оно коммерческое, но это клиент Xdebug для OSX

3
Henrique B.

Я тоже искал php-отладчик для osx. Это выглядит многообещающе: http://www.turingart.com/phpdebugger_lan__en.htm

2
user15215

Я использую Komodo 5 --- прекрасно работает отладка, не только с PHP, но также с Ruby и ​​Python. В основном я использую его для отладки сценариев PHP, которые выполняются на удаленном сервере, но вы также можете выполнять локальные операции. Это не бесплатно, но если ваше собственное время чего-то стоит, вы вернете свои деньги в течение нескольких часов!

1
David

Я отлаживаю PHP скрипты CLI и веб-тестирование (через Apache и т.д.), Используя Eclipse & ZendDebugger все время.

Я ответил на аналогичный вопрос по следующей ссылке: нажмите здесь

Надеюсь, это то, что вы ищете.

0
phatduckk

Я использую Zend studio 9 и mamp pro 2.1, на OSX 10.8

используя это руководство, я смог получить отладку, чтобы работать хорошо. http://jeremysimkins.com/mamp/setting-up-mamp-pro-with-zend-debugger-optimizer-and-extension-manager/

0
Andreas

Думаю, я не получаю бонусные баллы, но Zend Studio работает на моем Mac, подключаясь к Apache, работающему в VMware.

0
Gary Richardson

Если вы используете MAMP, обратите внимание, что в нем есть 2 файла php.ini, которые необходимо обновить. Мне понадобились часы, чтобы понять это. Два файла находятся в следующих папках для MAMP 4,

/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
/Applications/MAMP/conf/php5.6.25/php.ini

если вы используете php7, вам нужно будет обновить эти файлы. Прокрутите до конца файлы и убедитесь, что у вас есть следующие записи,

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

Затем убедитесь, что вы перезагружаете сервер, иначе новые настройки не будут загружены. Чтобы убедиться, что Xdebug работает правильно, откройте стартовую страницу MAMP и нажмите на вкладку phpinfo. Ищите xdebug в списке, вы должны увидеть раздел Xdebug , который показывает, что расширение загружено и включено, иначе что-то не так с указанными выше конфигурациями.

Затем вы можете запустить MacGDBp, и он подключится к порту 9000 и позволит вам отлаживать ваши файлы.

ПРИМЕЧАНИЕ. Если вы разрабатываете на Wordpress, пропустите сеансы отладки AJAX. Это регулярно, так как Dashboard будет пинговать сервер для изменений. Если вы включите 'разрыв в первой строке' в настройках MacGDBp, вы увидите разрывы сеансов ajax в строке define ('DOING_AJAX')...., которую вы можете пропустить. Как только вы это сделаете, запустите ваше событие для отладки вашего кода.

0
Aurovrata

Есть способ как это сделать используя

1) Установите php и отладьте

brew install php70   
brew install php70-xdebug
  • В PhpStorm - проверьте Настройки => Язык и рамки => PHP
    Уровень языка Php: 7
    Переводчик: PHP 7.0.8 + XDebug (или выберите из [...])

  • Проверьте конфигурацию отладки: Preferences => Language and Frameworks => PHP => Debug => раздел Xdebug
    Необходимо установить все флажки и установить для порта отладки значение: 9001

2) запустить сервер в каталоге вашего приложения:

php -S localhost:8080

3) Добавьте localhost: 8080 в PhpStorm Preferences => Language and Frameworks => PHP => Серверы:
Имя: Localhost: 8080
Хост: localhost
Порт: 8080
Отладчик: Xdebug

4) Обновите php.ini:
Php => Интерпретатор => […] => Файл конфигурации - Открыть в редакторе
Добавьте этот раздел: (проверьте путь к zend_extention через cli)

[Xdebug]
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_enable=1
xdebug.remote_Host=localhost
xdebug.remote_port=9001 (same as in Debug preferences)

5) Добавить конфигурацию отладки: Run => Edit Configuration => add - Php Web Application

  • Выберите Localhost: 8080 сервер

6) Нажмите "Начать прослушивание" для соединений Php Debug.
7) Настройка точек останова
7) Нажмите на "Отладка" (Зеленая ошибка)

0
Donskikh Andrei