Как заставить Visual Studio Development Server работать с PHP? - PullRequest
5 голосов
/ 26 января 2011

Я специалист по .NET, работаю с программистом PHP / Flash, чтобы доставить приложение через IIS.Прыгнув через 17 обстрелов огня и победив горгулью в ужасной битве до смерти, мне удалось заставить мой сервер IIS 7.5 взаимодействовать с PHP, и теперь, если вы заходите на мой общедоступный веб-сайт, вы можете счастливо видеть объекты Flashделать свои закулисные вещи с PHP, что бы это ни было.

Но ... когда я отлаживаю свое приложение с помощью VS Development Server, он все еще явно не знает, как справиться с этим.PHP: Я получаю те же ошибки HTTP 405 (метод не разрешен), что и IIS до того, как вышеупомянутая горгулья выдохнула в последний раз («HTTP-глагол POST, используемый для доступа к пути« /php/blah.php », не разрешен.").

Итак, что вам нужно сделать, чтобы VS Dev Server хорошо играл с PHP?

Ответы [ 3 ]

5 голосов
/ 27 января 2011

Моя настройка отладки 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:

  • phpDesigner7

    • Google: mpsoftware phpDesigner
  • VS.PHP (плагин PHP для VS.NET 2010).

    • Google: jcxsoftware vsphp

Я хочу любить 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 к веб-серверу, установить точки останова и многое сделать для построчной отладки.

3 голосов
/ 26 января 2011

Вы не сможете заставить Visual Studio Development Server работать на PHP. Однако вы можете легко использовать IIS Express (http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx), который не только даст вам PHP, но также установит WinCache, URL Rewrite и другие функции, которые очень важны для разработки PHP.
Также обратите внимание, что поддерживаются и другие платформы, такие как Classic ASP, где в Cassini их нет.

2 голосов
/ 26 января 2011

Один из вариантов - не запускать cassini, а просто установить IIS на своем устройстве dev и запустить все через него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...