2012-02-07 3 views
35

До недавнего времени я писал код на PHP (через Notepad ++) и отлаживал, проверяя журналы в IIS (должен любить этот установщик для веб-платформы); С тех пор я решил перейти на более эффективную среду для написания кода и тестирования, а после нескольких игр с PHPStorm решил купить ее и попробовать. С тех пор я понял, что в отношении учебников и прохождений PHPStorm подходит немного. Дав ручку взглядом (RTFM, я знаю), и придумай, хотел бы спросить, может ли кто-нибудь из вас захотеть провести меня через настройку PHPStorm с XDebug, чтобы я мог перестать ненавидеть себя за то, что не изучал базовых систем достаточно хорошо, и вернуться к кодированию.PHPStorm + XDebug Setup Пошаговое руководство

TLDR; Может ли кто-нибудь опубликовать подробный прогон для настройки PHPStorm + XDebug? Предположим, что максимальная глупость с моей стороны (я обычно более чем способна в мире ASP.NET, но я приближаюсь к уровню интеллекта, обычно связанного с некоторыми формами морфологической губки в мире PHP).

среда Windows 7 Ultimate (64-разрядная версия) с IIS & PHP установлен

+0

Не является прямым ответом на ваш вопрос, но есть ряд Xdebug хелперов доступен для всех основных браузеров, которые позволяют легко подключиться к сеансу отладки. Просмотрите https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc для Chrome. – keithl8041

+0

Вы отправились из «Блокнота» в PHPStorm :) :) lol – Datadimension

ответ

11

это действительно просто, чтобы получить Xdebug работать с PhpStorm, просто follow this guide carefully.. (Примечание:Updated version of the guide is here)

более сложные темы read this

+0

Должен ли я загружать TS-версию или версию TS XDebug без TS? Генератор автоматических инструкций не может разобрать ничего полезного из информации «php -i», которую я дал. – user978122

+0

Это будет зависеть от версии PHP, которую вы имеете, проверьте вывод phpinfo() на фиктивной странице или попытайтесь выяснить это из 'php -i' самостоятельно. – CrazyCoder

+0

Хм. Потоковая версия представляется наиболее подходящей, но инструкции по установке не хватает ... – user978122

28

Я нашел более современное и более легкое решение, частично основанное на записи CrasyCoder. шаги, которые необходимо сделать следующие:

  1. Если ваш бренд новой установки PHP не содержит php.ini, переименовать php.ini-разработки в php.ini
  2. Установка XDebug с помощью Мастер: http://xdebug.org/wizard.php Соблюдайте его рекомендации буквально.
  3. Введите в свой php.ini строку: xdebug.remote_enable = 1
  4. Перейдите в настройки PhpStorm: settings-> php. Выберите или повторно выберите каталог, содержащий php. Убедитесь, что вы видите «Debugger: Xdebug ххх» строка (где ххх обозначает установленной версии)
  5. установить расширение для вашего любимого браузера здесь: http://xdebug.org/docs/remote
  6. В главном меню (а не окно настройки) перейдите в раздел «Run -> Изменить конфигурации "и добавить новую конфигурацию« Встроенный веб-сервер PHP ». Направьте «Корень документа» в каталог вашего проекта. Обратите внимание на номер порта.
  7. Браузер Chrome: включите расширение, нажав на маленькую ошибку в самой правой стороне омнибокса и выбрав опцию Debug. Другие расширения браузеров должны работать аналогичным образом.
  8. В меню PhpStorm включите опцию «Выполнить -> Начать прослушивание для отладки PHP».
  9. Установите контрольную точку в своем коде в PhpStorm.
  10. Запустите (не отлаживайте) конфигурацию, созданную на шаге 6.
  11. В вашем браузере перейдите в localhost: порт, где «порт» - это порт с шага 6. Ваша PhpStorm должна остановиться на точке останова, и вы можете начать раздавливать ошибки в вашем коде.

Учитывая, что:

Шаги 1-5 сделаны один раз за установку PHP.
Шаг 6 выполнен один раз в проекте PhpStorm.
Шаги 7-8 выполняются один раз за сеанс отладки.
Шаги 9-11 выполнены в каждой программе.

+0

Хорошее решение, спасибо. Но: «Ошибка: встроенный веб-сервер доступен только с PHP 5.4» Mine is 5.3.8 ... – Ralf

+0

Пожалуйста, не предполагайте, что каждый использует встроенный веб-сервер PHP. Инструкции необходимы для использования с существующей конфигурацией Nginx и FPM. – Morgon

+0

Я пропустил шаг 8 (да!) Спасибо, сэр! –

7

У меня возникли некоторые проблемы, когда я впервые нажал на удаленную отладку XDebug вчера.

Несколько общих советов, вы все равно переполнены различными учебниками и руководствами.

  • Конфигурация XDebug на PHP/Aache сторона:
    xdebug.remote_enable = 1
    xdebug.remote_port = 9000
    xdebug.idekey = PhpStorm
    xdebug.remote_connect_back = 1
  • Вам нужно либо используйте remote_connect_back, как указано выше (будьте осторожны, это означает, что другие люди могут также отлаживать ваш сервер во время его включения) или указать свой IP-адрес (remote_host).
  • На стороне клиента вам необходимо, чтобы ваш маршрутизатор переместил порт 9000!
  • Вам необходимо разрешить PHPStorm для входящих подключений в вашем брандмауэре (для меня не было включено по умолчанию для Windows 8). Откройте Open Port 9000 или приложение.
  • На PhpStorm убедитесь, что идти в конфигурации отладки и не использовать отладку по умолчанию (PHPUnit!) Использование «PHP удаленной отладки» (Run/Debug Configurations -> Знак плюс на верхнем левом углу)
  • Вам нужно будет сказать PHPStorm абсолютный путь вашего проекта на веб-сервере, если вы здесь делаете ошибку (и забываете), вы получите приглашение в любом случае.
  • Теперь отлаживайте проект в PHPStorm при включении «Слушайте подключения» и поместите контрольную точку в свой код.
  • С помощью вашего веб-браузера откройте файл своего веб-сайта/php, когда включен cookie, который запускает отладчик. (cookie - лучший подход в большинстве случаев). Вы можете использовать закладку (google для закладки отладки phpstorm) или расширение.

Даже после путеводителей я пропустил несколько вышеуказанных пунктов. Я надеюсь, что я мог бы сэкономить несколько часов боролись :)

+0

Плюс один для xdebug.remote_connect_back = 1 часть! Спасибо – rfsbsb

+0

Будьте осторожны с настройкой, это опасно, если вы храните его случайно – John

7

1. установить модуль Xdebug(шаги установки MAC)
1.1.1. проверить версию PHP с помощью php --ini (см. загруженный файл)
1.1.2. brew search xdebug
1.1.3. brew install phpXX-xdebug
1.1.4. детали: php -i | grep xdebug
1.2. перезапустить сервер
1.3. конфигурация
1.3.1. sudo find /usr -name 'xdebug.so'
1.3.2. Скопируйте путь по нужному номеру
example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3. отредактируйте файл конфигурации, связанный с расширением, который должен быть автоматически добавлен в основной php.ini:
subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4.добавить zend_extension быть = путь скопирована выше

[xdebug] 
zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so" 

Нормальный файл должен иметь что-то вроде этого:

[xdebug] 
zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" 


xdebug.remote_enable=1 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_handler="dbgp" 
xdebug.remote_autostart=1 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp" 
xdebug.idekey=PHPSTORM 

2. проверить ваш PHP версии
php --ini
3. Режима установок IDE-настройки
языки и рамки> PHP>
3.1. установите уровень языка на правильную версию PHP этого проекта.
3.2. установить интерпретатор (установить родительский каталог, где загружается каталог bin исполняемого файла PHP)
3.2.1. нажмите кнопку ...> нажмите кнопку +> другой местным> набор PHP Восторженного путем,
найти тип пути в терминале: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. рестарт PhpStorm
5. Теперь давайте сделаем это работа
5.1. запустить> изменить конфигурацию> нажмите зеленую кнопку + в левой части> выберите b. php web
5.2. name: anything example ur {имя приложения - отладчик}
5.3. server: localhost (browse> +> name: whatever | host: localhost или 127.0.0.1)
5.4. щелкните ok
5.5. start url: ссылка на главную страницу проекта ur: http://127.0.0.1:80/SomethingNew/
5.6. нажмите кнопку ОК
6. Теперь установите точку останова и нажмите отлаживать

+1

Лучшее пошаговое руководство, которое я видел по этому вопросу. Работает как шарм! Благодаря! –

2

Если вам не нужен удаленный отладки, вы можете легко отладки проекта.

Сначала проверьте настройки php.ini.

Убедитесь, что dll xdebug существует, и настройки включены.

xdebug.remote_enable = on 
xdebug.profiler_enable = on 
xdebug.profiler_enable_trigger = on 
xdebug.profiler_output_name = cachegrind.out.%t.%p 
xdebug.profiler_output_dir = "c:/wamp/tmp" 
xdebug.show_local_vars=0 

Затем перейдите в меню «Выполнить» в верхней панели навигации. Затем выберите редактирование конфигураций и добавьте новую конфигурацию (не изменяйте настройки по умолчанию для другого проекта)

phpStorm add new configuration Нажмите, чтобы добавить новый элемент.

После добавления нового веб-приложения PHP

Если у вас нет какой-либо сервер (как правило, указывает на Localhost с 80 порта на окнах или Linux) нажмите на кнопку, показанную ниже.

enter image description here

Добавить новый сервер с Xdebug.

enter image description here

Затем нажмите кнопку ОК и проверьте конфигурацию

enter image description here

Наконец, вы увидите конфигурацию на правой стороне язя.

enter image description here

Нажмите RUN или кнопку DEBUG.

enter image description here

enter image description here

+0

Ты человек, который спасает мою жизнь! –