Моя настройка отладки PHP
Я - разработчик .NET, который плавал в пуле PHP в течение последних нескольких месяцев.
Избалованная IDE VS.NET, отладчиком и строго типизированными платформами, я решила создать среду разработки PHP, которая очень напоминает мой опыт отладки .NET.
ПРИМЕЧАНИЕ. Может быть легко настроить отладку PHP в IIS для новых приложений PHP.Однако шаги, перечисленные ниже, разбивают некоторые очень сложные шаги, которые я нашел необходимыми для отладки в WordPress и Joomla.Следуйте этим шагам, только если вам не повезло с отладкой.
Отказ от ответственности: Полный набор шагов для завершения этой настройки довольно сложен.Я собираю это вместе специально, в надежде, что это поможет другим, нуждающимся в создании профессиональной среды разработки с небольшим опытом работы в системах на основе Linux.
Эти шаги не гарантированно работают и могут быть очень чувствительными к настройкам среды.Я потратил много времени, пытаясь пробовать и ошибаться, пока не заработал.
Попутно я должен отдать должное нескольким хорошим онлайн-ресурсам, которые вы должны просмотреть, чтобы начать.Они не относятся к настройке отладки или разработки.Я приведу подробности ниже.
Пошаговое руководство: Установка XAMPP и WordPress в Windows
Поскольку я новичок в публикации здесь, я не могу добавитьболее одной ссылки.Просто Google следующие ссылки: - Google: Sixrevisions Tutorials-Web-Development-Tutorials с использованием-xampp-for-local-wordpress-theme-development
Защита вашей установки XAMPP
- Google: robsnotebook xampp-builtin-security
НАСТРОЙКА РАЗРАБОТКИ
Стек WAMP против IIS для PHP:
Во-первых, я не использовал IIS для размещения своего приложения PHP.Я хотел разделить эти веб-серверы и использовать один из доступных стеков WAMP для разработки.Это позволило мне управлять и изучать параметры конфигурации, которые будут использоваться в Apache и Linux.Если бы я развертывал приложение PHP на хосте Windows, я бы выбрал установку IIS.Опять же, это был выбор, основанный на создании аналогичных сконфигурированных сред с хостом Linux.
Что такое стек WAMP?
Для тех, кто незнаком, стек WAMP обозначаетдистрибутив Apache, MySQL и PHP, работающий под Windows.Другие варианты включают LAMP (для Linux), MAMP (для MAC) и другие.В сообществе есть несколько разновидностей, которые предоставляют стеки WAMP для работы.Изначально мне было интересно работать с BitNami.Однако меня не порадовала панель управления, используемая для управления различными службами в стеке.
Выбор XAMPP для Windows
В конце концов, я пошел с пакетом под названием XAMPP (кроссплатформенный Apache, MySQL, PHP и PERL).Второй P в XAMPP обеспечивает поддержку PERL, которой нет в других стеках WAMP (WAMPServer, bitnami и некоторых других).Мне также нравится XAMPP, потому что у него более активное сообщество, и стек для меня очень стабилен.Дополнительные отличительные особенности XAMPP - поддержка хостинга FTP-сервера, почтового сервера на основе Apache.Возможность запуска MySQL и Apachi в качестве служб или локально запущенного приложения легко переключается одним нажатием кнопки.
Настройка XAMPP для разработки
Настройка XAMPP проста.Мой опыт работы с предыдущим выпуском 1.7.3.Они только что выпустили 1.7.4.Перейдите по адресу:
- Google: apachefriends xampp-windows
и прокрутите страницу вниз, пока не увидите ссылки для установки.Если вы хотите поработать с выпуском, который вышел со временем, вы все равно можете найти 1.7.3 по следующей ссылке:
- Ссылка для сборки: www (точка) apachefriends (точка) org (/) скачать (php)? xampp-win32-1.7.3.exe
Установка XDebug для отладки PHP
Это относится к установке PHP на WAMP с Apache или на IIS. Выбор правильной версии этого dll не прост.
Сначала перейдите на:
- Google: xdebug org download (php)
и просмотрите различные доступные версии.
Версии не очень понятны для разбора. Следуйте этому руководству, чтобы понять это:
Разбивка имени XDebug: [php_xdebug-2.1.0-5.3-vc6.dll]
- XDebug version 2.1.0
- Compatible with PHP 5.3
- VC6: Use for Apache ver 1 or 2
- VC6 indicates compiled with legacy Visual Studio 6 Compiler
- VC9: Use for IIS
- VC9 indicates compiled with Visual Studio 2008.
- NTS (not listed in the name above) indicates Non Thread Safe.
- The version listed is thread safe.
Настройка PHP.ini
ПРИМЕЧАНИЕ. Поскольку я не настроил это на IIS, я не уверен, какие конкретные настройки применяются. Тем не менее, это документ по всей сети.
Для WAMP / XAMPP:
Найдите файл \ php \ php.ini.
- Закомментируйте строку, добавив точку с запятой в начало строки.
; zend_extension = "php \ ext \ php_xdebug.dll"
Найдите раздел [XDebug]
- Используйте настройки, аналогичные перечисленным ниже, и укажите свой путь:
[XDebug]
; Общие настройки
zend_extension = "P: [Полностью определенный путь] \ xampp \ php \ ext \ php_xdebug-2.1.0-5.3-vc6.dll"
xdebug.profiler_enable = 1;
xdebug.profiler_output_dir = "P: [Полностью определенный путь] \ xampp \ tmp"
xdebug.profiler_output_name = "xdebug_profile.% P";
xdebug.remote_enable = 1;
xdebug.remote_host = "127.0.0.1";
xdebug.remote_port = 9000;
;Make sure your IDE setup on port 9000. Some will default to 7870.
xdebug.trace_output_dir = "P: [Полностью определенный путь] \ xampp \ tmp";
; ************
Требуется для поддержки IDE
; ************
xdebug.idekey = "vsphp";
;This value can be arbitrary or may require something specific for your IDE.
xdebug.remote_autostart = 1;
xdebug.var_display_max_depth = 5;
Отладка с помощью IDE
Я использую 2 IDE для разработки на PHP:
Я хочу любить VS.PHP в VS.NET 2010, однако это не самый лучший опыт в отладке. phpDesigner7 был намного лучше для отладки и доступа к локальным переменным, intellisense и использования команд eval во время отладки. VS.PHP так близок к тому, чтобы быть великим, но вы будете разочарованы, если у вас мало терпения. Я по-прежнему предпочитаю его в качестве редактора для разработки, даже для PHP.
Независимо от IDE, большинство IDE предоставляют поддержку внутренней отладки без каких-либо дополнительных шагов, которые я перечислил выше. Однако эти приложения будут запускать приложение php на частном веб-сервере с использованием определенных настроек php.ini в среде IDE.
Я занимаюсь индивидуальной интеграцией с приложениями WordPress, Joomla и .NET. Поэтому мне нужен отладчик для использования настроек php.ini для моих различных платформ. Для отладки этих платформ я настраиваю свои среды IDE для работы в режиме удаленной отладки. IDE и веб-сервер координируют выполнение во время выполнения с помощью XDebug, выступающего в качестве посредника и предоставляющего необходимые символы отладки для отладчика IDE.
Настройка IDE для отладки
Последний шаг - настроить IDE, чтобы отладчик мог подключиться к веб-серверу.
3 настройки для поиска следующие:
- PHP-CGI: P: [полный путь] \ xampp \ php \ php-cgi.exe
- PHP.INI: P: [полный путь] \ xampp \ php \ php.ini
- Порт прослушивания: 9000
Различные IDE могут по-разному обозначать эти параметры и требовать дополнительных настроек. Они должны быть самыми важными для поиска.
ПРИМЕЧАНИЕ. Для отладки используйте [php \ php-cgi.exe], а не [php \ php.exe].Php-cgi.exe необходим для запуска php.exe в Windows.
Надеюсь, это поможет вам подключить IDE к веб-серверу, установить точки останова и многое сделать для построчной отладки.