В недавней статье мы увидели, как легко настроить и запустить веб-сервер в Windows с PHP, IIS и SQL Server Express с помощью установщика веб-платформы. Сейчас. давайте посмотрим, как мы можем использовать эти инструменты вместе для создания простого веб-приложения.
Не забудьте проверить викторину в конце , спонсором которой является Microsoft, и, возможно, выиграть бесплатную копию выпуска SQL Server Developer. Доступно ограниченное количество, так что поторопитесь и погрузитесь прямо в.
Установщик веб-платформы Microsoft, или WPI, является унифицированным установщиком веб-приложений и соответствующего программного обеспечения. WPI может установить PHP, Microsoft SQL Server, .NET Framework и различные приложения с открытым исходным кодом, и это лишь некоторые из них! Установщик также настраивает службы Internet Information Services (веб-сервер, включенный в Windows) для этих компонентов, поэтому начать работу легко. Но прежде чем мы начнем создавать наше веб-приложение, мы будем использовать WPI для настройки среды разработки.
В этой статье предполагается, что у вас есть базовые знания о PHP и реляционных базах данных — если вы можете написать код PHP и SQL для манипулирования записями в базе данных, все в порядке. Мы пройдемся по PHP довольно быстро, чтобы сосредоточиться на мощности и простоте платформы.
Сначала посетите страницу загрузки WPI и получите копию установщика. Вам понадобится система под управлением Windows XP SP2 +, Server 2003 SP1 +, Server 2008, Vista SP1 или Windows 7; Я использовал Vista SP1 для этого урока. Сам установщик занимает всего 1 МБ, но будьте готовы к передаче нескольких сотен мегабайт данных, когда установщик загружает компоненты платформы.
Прежде чем мы начнем установку, убедитесь, что в вашей системе установлен IIS. IIS входит в состав большинства выпусков Windows, однако не входит в состав выпусков Home. Проверьте функции Windows (но обратите внимание, что названия могут отличаться) в разделе « Программы и компоненты» на панели управления, чтобы убедиться, что IIS установлен; Если нет, просто установите IIS, прежде чем продолжить.
Откройте установщик веб-платформы и просмотрите доступные варианты. Вы можете узнать некоторые приложения с открытым исходным кодом, такие как WordPress, на вкладке Приложения ; установщик может настроить эти приложения и все необходимое программное обеспечение платформы с минимальными усилиями.
Перейдите на вкладку Веб-платформа, чтобы начать установку необходимых нам компонентов. Используйте ссылки Customize для выбора компонентов. Как минимум, нам нужно выбрать Веб-сервер > Разработка приложений > CGI , Frameworks и Runtime > PHP > PHP 5.x и все, что находится в базе данных . Если вы следовали предыдущей статье «Простой способ установить PHP в Windows» , некоторые из этих компонентов уже будут установлены. На рисунке 1 «Компоненты, которые нужно установить» показаны компоненты, которые я использовал (плюс SQL Server Management Studio):
Обратите внимание, что собственный клиент SQL Server 2008 указан как зависимость для драйвера PHP. Собственное клиентское программное обеспечение обеспечивает функциональность ODBC для драйвера PHP и требуется даже при работе с экземплярами SQL Server 2005.
Нажмите и во время процедуры установки вам будет предложено настроить аутентификацию для вашей новой установки SQL Server. В этом руководстве мы будем использовать проверку подлинности SQL Server, поэтому выберите « Смешанная проверка подлинности» вместо встроенной проверки подлинности Windows ; заметьте, однако, что оба хороши для развития. Мы будем сохранять имя пользователя по умолчанию sa
, но вы можете выбрать любой пароль, который вы хотите.
Хотя WPI не предупредит вас об этом, установка SQL Server Express не будет завершена, если вы введете слабый пароль. На странице устранения неполадок WPI есть сведения, которые вам понадобятся для обеспечения надежности вашего пароля.
Идите вперед и дайте WPI загрузить и установить эти элементы. Если у вас возникнут какие-либо проблемы, посетите страницу устранения неполадок WPI .
После завершения установки платформы SQL Server должен быть запущен на вашем компьютере. Запустите SQL Server Management Studio, используя ярлык, который установщик поместит в меню « .
Вам будет предложено подключиться к экземпляру SQL Server, как показано на рисунке 3, «Подключение к экземпляру сервера» . Для этого используйте комбинацию имени пользователя и пароля, которую вы установили ранее (или свои учетные данные для входа в Windows, если вы выбрали аутентификацию Windows).
Обратите внимание, что BUSLN1
— это имя моего компьютера, а SQLEXPRESS
— это имя экземпляра по умолчанию для SQL Server (Express Edition), установленного WPI. Это должно быть уже заполнено, но вам может потребоваться выбрать SQL Server Authentication из списка методов Authentication . Если вы не можете подключиться, убедитесь, что SQL Server запущен: откройте консоль служб (« services.msc
), как показано на рисунке 4 «SQL Server запущен» , и убедитесь, что SQL Server запущен. > « и введите
После подключения в SQL Server Management Studio (SSMS), показанной на рисунке 5 «Интерфейс SSMS» , будут отображаться ваши базы данных, а также другие части информации о сервере.
SSMS позволяет вам настраивать, управлять и администрировать ваш экземпляр SQL Server, а также управлять его базами данных. Дополнительные сведения о SSMS см. В разделе Введение в SQL Server Management Studio на MSDN.
Если вы установили Менеджер баз данных для IIS, как я, вы также можете проверить, что ваш сервер баз данных запущен и работает, используя Менеджер баз данных в IIS Manager (он находится в разделе « Управление » на первой странице). Однако менеджер баз данных ожидает подключения к определенной базе данных, поэтому вам придется сначала создать ее, используя SSMS.
WPI установил последний выпуск PHP и настроил для него IIS. Давайте проверим, работает ли IIS. Самый простой способ сделать это — зайти на http: // localhost / и убедиться, что страница IIS по умолчанию отображается в вашем браузере.
Загрузите IIS Manager, показанный на рисунке 6, «Интерфейс IIS Manager» — он находится в разделе « Администрирование» на панели управления, но он также должен появиться, если вы введете IIS
в строку поиска в меню « .
Здесь мы можем настроить и администрировать наш сервер IIS, а также управлять размещенными веб-сайтами. Поскольку IIS включен в большинство выпусков Windows, WPI просто добавил и включил определенные обязательные компоненты, такие как компонент CGI . Параметры, которые вы видите, могут не совпадать с описанными выше, но если у вас включен CGI, вы должны быть готовы к работе.
Если вы не смогли получить доступ к своему серверу IIS по адресу http: // localhost / ранее, щелкните на своем веб-сервере (запись верхнего уровня на левой панели, скорее всего, помечена именем вашего компьютера; например, это BUSLN1 для меня) , Нажмите действий справа. на панели Затем выберите веб-сайт по умолчанию и используйте панель « Действия» справа, чтобы убедиться, что веб-сайт также работает.
Теперь давайте удостоверимся, что PHP был установлен правильно. Наш сервер будет выполнять PHP через модуль FastCGI, рекомендуемый метод для IIS. Сначала выберите верхнюю запись для вашего сервера в разделе « Подключения» слева и дважды щелкните « Модули» в среднем окне (это один из компонентов, сгруппированных в IIS ).
Вы должны увидеть FastCgiModule в этом списке, как показано на рисунке 7, «Список модулей» . Если нет, нажмите « Настроить собственные модули» справа и включите FastCgiModule . Если FastCgiModule не является опцией, нажмите « Зарегистрировать» , назовите модуль FastCgiModule , назовите %windir%System32inetsrviisfcgi.dll
в качестве пути к модулю, а затем включите его.
Теперь выберите ваш веб-сайт по умолчанию , откройте раздел « Модули » и еще раз убедитесь, что FastCgiModule находится в списке. (Если нет, используйте предыдущие инструкции, чтобы поместить его туда.)
Наконец, с выбранным веб-сайтом по умолчанию дважды щелкните « Сопоставления обработчиков» .
WPI должен был добавить запись с названием PHP_via_FastCgi , как показано на рисунке 8, «Список отображений обработчиков» , когда устанавливал PHP. Однако, если этот параметр не отображается в списке, нажмите « Добавить сопоставление модуля» справа, введите *.php
в качестве пути запроса, выберите FastCgiModule
из списка модулей и выберите двоичный файл php-cgi.exe
для этого пути — это должно быть в C:Program FilesPHPphp-cgi.exe
или что-то подобное. (Не забудьте использовать кавычки вокруг пути к исполняемому файлу из-за этого места в Program Files
.) Выберите имя, например PHP via FastCgi
, и нажмите . IIS предложит вам создать приложение FastCgi для PHP, как показано на рисунке 9, «Добавление сопоставления модулей» .
Теперь мы готовы запустить наши приложения PHP под IIS. Ваш веб-сайт по умолчанию будет иметь корневой каталог документов, похожий на C:inetpubwwwroot
— вы можете изменить это с помощью диспетчера IIS. Пока удалите файлы IIS по умолчанию в этой папке и создайте файл index.php
. Откройте ваш любимый текстовый редактор и добавьте следующее:
<Phpphpinfo (?); Выход;
Переключитесь на свой веб-браузер и снова посетите http://localhost/
(или http://localhost/index.php
если вы не удалили заставку IIS). Найдите sqlsrv
, который является родным драйвером SQL Server для PHP, предоставляемым Microsoft. Пропустите первую запись, и вы увидите, что драйвер установлен и включен, как показано на рисунке 10, «Информация о SQL Server из phpinfo» .
Теперь давайте создадим базу данных и получим ее с помощью PHP. Вернитесь в SQL Server Management Studio, подключитесь к серверу базы данных, если вы этого еще не сделали, и создайте новую базу данных. Просто щелкните правой кнопкой мыши Базы данных и выберите чтобы открыть диалоговое окно Новая база данных, показанное на рисунке 11, «Создание новой базы данных» .
Вы увидите новую запись для вашей новой базы данных в разделе Базы данных . Разверните запись для своей базы данных, щелкните правой кнопкой мыши Таблицы и выберите чтобы создать новую таблицу.
Вы можете изменить имя таблицы, используя панель « Свойства» справа, ввести информацию о схеме (здесь у нас просто есть идентификатор и поле name
в таблице с именем people
), а для поля id
установить первичный ключ, щелкнув правой кнопкой мыши Поле имени столбца . Для эквивалента поля автоинкремента выберите ID в качестве столбца идентификаторов под конструктором таблиц справа. Это не совсем необходимо, но я подумал, что ветеран MySQL будет искать эту опцию.
Наконец, нажмите кнопку Ctrl + S ), чтобы создать таблицу. (или нажмите Вы увидите, что он появится в вашем Object Explorer слева, как на рисунке 13, «Новая таблица создана» .
Щелкните правой кнопкой мыши dbo.people слева, выберите « и введите несколько фиктивных данных в строку, как показано на рисунке 14 «Ввод данных» .
Теперь вернитесь в ваш текстовый редактор, откройте файл index.php
мы работали ранее, и обновите его следующим образом:
<? php $ server = " BUSLN1\SQLEXPRESS
"; $ options = array ("UID" => "sa", "PWD" => " password
", "Database" => "test"); $ conn = sqlsrv_connect ( $ server, $ options); if ($ conn === false) die ("<pre>". print_r (sqlsrv_errors (), true)); echo "Успешно подключено!"; sqlsrv_close ($ conn);
Вам определенно потребуется изменить параметры, выделенные курсивом — они должны отражать информацию о конфигурации, которую вы ранее вводили в диалоге подключения SQL Server Management Studio. Также мы используем \
вместо в имени сервера, потому что
это экранирующий символ в PHP. Измените
$server
для отображения имени вашего компьютера и замените значение массива “PWD”
выбранным вами паролем. Если вы выбрали проверку подлинности Windows при установке SQL Server, пропустите строки “UID”
и “PWD”
; SQL Server будет использовать вашу текущую учетную запись Windows для аутентификации на сервере базы данных.
Этот код пытается подключиться к локальному экземпляру SQL Server, используя собственный драйвер SQL Server. API немного отличается от собственных драйверов mysql
, mysqli
или pgsql
для PHP, но его легко подобрать. Дополнительные сведения о драйвере см. В документации по MSDN.
Загрузите http: //localhost/index.php, и вы должны увидеть сообщение «Успешно подключено!». Если нет, убедитесь, что ваш SQL Server работает и эти учетные данные работают в SQL Server Management Studio; драйвер PHP должен дать вам тот же результат (включая формулировку сообщения об ошибке). Дополнительные сведения о подключении к SQL Server см. В документации sqlsrv_connect .
Теперь давайте восстановим строку, которую мы создали ранее. Вернитесь в ваш текстовый редактор и добавьте этот код после "Successfully connected!"
линия:
$ sql = "SELECT * FROM dbo.people"; $ query = sqlsrv_query ($ conn, $ sql); if ($ query === false) {exit ("<pre>". print_r (sqlsrv_errors (), true) );} while ($ row = sqlsrv_fetch_array ($ query)) {echo "<p> Здравствуйте, $ row [name]! </ p>";} sqlsrv_free_stmt ($ query);
Это извлечет все записи из нашей таблицы сотрудников и выведет значение в поле имени каждой записи. Наконец, мы вызываем sqlsrv_free_stmt
чтобы освободить ресурсы, связанные с оператором запроса. Этот последний вызов является необязательным, но может иметь значение для сложных подготовленных операторов и больших наборов результатов.
Посетите http: //localhost/index.php в вашем веб-браузере; Вы должны увидеть запись для каждой записи в своей таблице сотрудников. Добавьте еще несколько строк в SQL Server Management Studio и обновите страницу, чтобы получить новый набор результатов. Теперь, когда мы знаем, как получить доступ к SQL Server из PHP, мы готовы создать наше веб-приложение!