Я сам пользователь Mac, и, поскольку я занимаюсь тяжелой PHP-разработкой, мне нужна сложная настройка для этого.
Прежде всего, стандартные PHP и Apache, установленные в Snow Leopard, неплохие, но обновление или добавление расширений к нему - довольно сложная задача.Чтобы иметь возможность полностью контролировать среду, я решил установить весь стек AMP, используя MacPorts .Не беспокойтесь о перезаписи существующих файлов, так как все будет установлено в разных местах.Просто убедитесь, что вы отключили стандартный Apache перед запуском недавно установленного.Есть множество учебников о том, как это сделать.
Моя IDE по выбору - Komodo IDE.Эта интегрированная среда разработки поставляется со встроенной отладкой с использованием предварительно настроенной установки xdebug.Я закончил скомпилировать и использовать последнюю версию xdebug вместо стоковой версии по причинам совместимости (PHP 5.3+).Многие разработчики используют вышеупомянутый Eclipse + PDT, который предлагает аналогичную IDE, хотя для его правильной настройки необходимо сделать немного больше.
Для удаленной отладки я настроил модуль PHP в apache для загрузки также xdebug и подключенияна мою работающую IDE.Более подробную информацию об этом можно найти здесь .Для сложных веб-приложений идеально, если вы можете просто открыть браузер, перейти на нужную веб-страницу и активировать отладку, чтобы перейти к первой строке кода этой страницы.
Для тестирования и настройки производительности я использую функция профилирования из xdebug.Когда включено, xdebug будет записывать файлы callgrind в определенный каталог.Я использую MacCallGrind для визуального анализа файлов профилировщика.Существует бесплатная альтернатива под названием KCacheGrind, которую можно установить, если вы включили MacPorts (как упоминалось в первом предложении).
Я использую эту среду для разработки довольно сложных и крупных проектов с несколькими домами, включая командную строку (daemonized)PHP-приложения, использующие разветвление и IPC-структуры и расширения, такие как memcache.Я вполне удовлетворен тем, как эта настройка работает для меня.