Intereting Posts
Как я могу прочитать php-файл в строку, используя php? Альтернативные альтернативы lookback для альтернативных регулярных выражений Запретить прямой доступ ко всем .php-файлам, кроме index.php Неустранимая ошибка: вызов неопределенной функции: imagecreate () Исправление ошибки 1064 SQL Ошибка импорта базы данных в Wampserver PHP Printf как плавающая точность Значения $ _SESSION не удерживаются! преобразовать mysql resultset в объект (имя, данные), который будет загружаться в HighCharts Получить размер удаленного файла из URL? $ _SERVER не работает? альтернатива? php-массив, удаляющий последовательные дубликаты в массиве Почему этот базовый imagejpeg () resizer возвращает черное изображение? PHP для чтения и анализа большого размера файла? Отправка файлов cookie, хранящихся на глобальном уровне $ _COOKIE, с использованием PHP curl Отправить письмо через PHPMailer на один адрес электронной почты в MySQL

Отладка PHP на OS X – безнадежная?

Я пытался:

  1. Xdebug и Eclipse. Eclipse запускает веб-браузер, но браузер пытается получить доступ к несуществующему файлу в пакете .app Eclipse .app.
  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.

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

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

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 .

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

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

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

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

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

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

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

Я использую 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/

Существует способ, как это сделать, используя

1) Установить php и debug

 brew install php70 brew install php70-xdebug 
  • В PhpStorm – проверьте Preferences => Язык и Frameworks => PHP
    Уровень владения Php: 7
    Интерпретатор: PHP 7.0.8 + XDebug (или выберите […])

  • Проверьте конфигурацию отладки: Предпочтения => Язык и рамки => PHP => Отладка => Раздел Xdebug
    Все флажки должны быть проверены и установить порт отладки: 9001

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

 php -S localhost:8080 

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

4) Обновить php.ini:
Php => Interpreter => […] => Файл конфигурации – Открыть в редакторе
Добавьте этот раздел: (проверьте путь 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) Добавить конфигурацию отладки: Запустить => Изменить конфигурацию => добавить – Php Web Application

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

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

Если вы используете 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').... которые вы можете пропустить. Как только вы запустите свое событие для отладки вашего кода.