Это руководство содержит сведения по созданию веб-сайта PHP Windows Azure с Windows Azure SQL Database и его развертыванию с помощью Git. Предполагается, что на вашем компьютере установлены PHP , SQL Server Express , драйверы Microsoft для SQL Server для PHP , веб-сервер и Git . После выполнения всех действий вы получите веб-сайт PHP с базой данных SQL, работающий на платформе Windows Azure.
Примечание. Для установки и настройки PHP, SQL Server Express, драйверов Microsoft для SQL Server для PHP и служб IIS можно воспользоваться установщиком Microsoft Web Platform Installer .
О чем пойдет речь в данном руководстве:
- Как создать веб-сайт Windows Azure и базу данных SQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
- Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.
Следуя инструкциям в этом руководстве, вы создадите простое веб-приложение на языке PHP для регистрации. Это приложение будет размещено на веб-сайте Windows Azure. Снимок экрана готового приложения приведен ниже:
Увеличить
Создание веб-сайта Windows Azure и настройка публикации Git. Создание учетной записи Windows Azure
Откройте веб-браузер и перейдите на веб-сайт http://www.windowsazure.com/ . Чтобы приступить к работе с помощью бесплатной учетной записи, щелкните в верхнем правом углу Free Trial и выполните указанные действия. Для проверки личности может потребоваться указать номер кредитной карты или мобильного телефона. Счет при этом не выставляется.
Включение веб-сайта Windows Azure
Перейдите на страницу https://account.windowsazure.com/ и выполните вход с помощью учетной записи Windows Azure. Щелкните элемент preview features, чтобы увидеть доступные варианты предварительного просмотра.
Выполните прокрутку до пункта Web Sites и нажмите кнопку try it now.
Выберите подписку и установите флажок.
Чтобы создать веб-сайт Windows Azure и базу данных SQL, выполните следующие действия.
Войдите на портал Windows Azure (предварительная версия) . В нижней левой части портала щелкните значок + New.
Щелкните WEB SITE, а затем CREATE WITH DATABASE.
Увеличить
Введите значение в поле URL, выберите Create a New SQL Database в раскрывающемся списке DATABASE и укажите центр обработки данных для веб-сайта в раскрывающемся списке REGION. Щелкните стрелку в нижней части диалогового окна.
Введите значение для базы данных в поле NAME, выберите значение для EDITION (WEB или BUSINESS) , задайте значение MAX SIZE для базы данных и значение для COLLATION, выберите NEW SQL Database server. Щелкните стрелку в нижней части диалогового окна.
Введите имя администратора и пароль (пароль подтвердите), выберите регион, в котором будет создан сервер базы данных SQL, и установите флажок Allow Windows Azure Services to access the server.
После создания веб-сайта появится сообщение Creation of Web Site ‘[ИМЯ_САЙТА]’ completed successfully. Теперь можно включить публикацию Git.
Щелкните имя веб-сайта, отображаемого в списке веб-сайтов, чтобы открыть панель быстрого запуска (Quick Start) веб-сайта.
В нижней части страницы Quick Start щелкните Set up Git publishing.
Чтобы включить публикацию Git, необходимо указать имя пользователя и пароль. Запомните созданные имя пользователя и пароль. (Если репозиторий Git был настроен ранее, это действие пропускается.)
Настройка репозитория займет несколько секунд.
Когда репозиторий будет готов, появятся инструкции по помещению файлов приложения в репозиторий. Запомните эти инструкции, так как они понадобятся позднее.
Получение сведений о подключении к базе данных SQL
Чтобы подключиться к экземпляру базы данных SQL, запущенному на веб-сайтах Windows Azure, потребуются сведения о подключении. Чтобы получить сведения о подключении к базе данных SQL, выполните следующие действия.
На Портале управления (предварительная версия) щелкните LINKED RESOURCES, а затем щелкните имя базы данных.
Щелкните View connection strings.
В разделе PHP открывшегося диалогового окна запомните значения для SERVER, DATABASE, и USERNAME.
Создание и тестирование приложения локально
Приложение Registration — это простое PHP-приложение для регистрации участников мероприятия путем ввода имени и адреса электронной почты пользователя. Сведения о предыдущих зарегистрировавшихся лицах отображаются в таблице. Информация о регистрации хранится в экземпляре базы данных SQL. Приложение состоит из двух файлов (код для копирования и вставки указан ниже).
- index.php. Отображает форму для регистрации и таблицу с данными о зарегистрировавшемся участнике.
- createtable.php. Создает таблицу базы данных SQL для приложения. Этот файл используется только один раз.
Чтобы запустить приложение локально, выполните следующие действия. Предполагается, что на локальном компьютере установлены PHP, SQL Server Express и веб-сервер и включено расширение PDO для SQL Server .
Создайте базу данных SQL Server с именем registration. Это можно сделать из командной строки sqlcmd с помощью следующих команд.
>sqlcmd -S localhost\sqlexpress -U -P
1> create database registration
2> GO
В корневом каталоге веб-сервера создайте папку с именем registration, а в ней создайте два файла, один с именем createtable.php и другой с именем index.php.
Откройте файл createtable.php в текстовом редакторе или IDE и добавьте указанный ниже код. Этот код будет использоваться для создания таблицы registration_tbl в базе данных .
<?php
// DB connection info
$host = "localhost\sqlexpress";
$user = "user name";
$pwd = "password";
$db = "registration";
try{
$conn = new PDO
( "sqlsrv:Server= $host ; Database = $db ", $user, $pwd);
$conn->setAttribute
( PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION );
$sql = "CREATE TABLE registration_tbl(
id INT NOT NULL IDENTITY(1,1)
PRIMARY KEY(id),
name VARCHAR(30),
email VARCHAR(30),
date DATE)";
$conn->query($sql);
}
catch(Exception $e){
die(print_r($e));
}
echo "<h3>Table created.</h3>";
?>
Примечание. Потребуется обновить значения и локальным именем пользователя и паролем SQL Server.
Откройте веб-браузер и перейдите к файлу http://localhost/tasklist/createtable.php . В базе данных будет создана таблица.
Откройте файл index.php в текстовом редакторе или IDE и добавьте базовый код HTML и CSS для страницы (код PHP будет добавлен на более поздних этапах).
<html>
<head>
<Title>Registration Form</Title>
<style type="text/css">
body { background-color:
#fff; border-top: solid 10px #000;
color: #333; font-size: .85em;
margin: 20; padding: 20;
font-family: "Segoe UI",
Verdana, Helvetica, Sans-Serif;
}
h1, h2, h3,{ color: #000;
margin-bottom: 0; padding-bottom: 0; }
h1 { font-size: 2em; }
h2 { font-size: 1.75em; }
h3 { font-size: 1.2em; }
table { margin-top: 0.75em; }
th { font-size: 1.2em;
text-align: left; border: none; padding-left: 0; }
td { padding: 0.25em 2em 0.25em 0em;
border: 0 none; }
</style>
</head>
<body>
<h1>Register here!</h1>
<p>Fill in your name and
email address, then click <strong>Submit</strong>
to register.</p>
<form method="post" action="index.php"
enctype="multipart/form-data" >
Name <input type="text"
name="name" id="name"/></br>
Email <input type="text"
name="email" id="email"/></br>
<input type="submit"
name="submit" value="Submit" />
</form>
<?php
?>
</body>
</html>
Внутри тегов PHP добавьте код PHP для подключения к базе данных.
// DB connection info
$host = "localhost\sqlexpress";
$user = "user name";
$pwd = "password";
$db = "registration";
// Connect to database.
try {
$conn = new PDO
( "sqlsrv:Server= $host ; Database = $db ", $user, $pwd);
$conn->setAttribute
( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(Exception $e){
die(var_dump($e));
}
Примечание. Потребуется еще раз обновить значения и локальным именем пользователя и паролем MySQL.
После кода подключения к базе данных добавьте код для вставки регистрационных данных в базу данных.
if(!empty($_POST)) {
try {
$name = $_POST['name'];
$email = $_POST['email'];
$date = date("Y-m-d");
// Insert data
$sql_insert =
"INSERT INTO registration_tbl (name, email, date)
VALUES (?,?,?)";
$stmt = $conn->prepare($sql_insert);
$stmt->bindValue(1, $name);
$stmt->bindValue(2, $email);
$stmt->bindValue(3, $date);
$stmt->execute();
}
catch(Exception $e) {
die(var_dump($e));
}
echo "<h3>Your're registered!</h3>";
}
И наконец, после указанного выше кода добавьте код для извлечения данных из базы данных.
$sql_select = "SELECT * FROM registration_tbl";
$stmt = $conn->query($sql_select);
$registrants = $stmt->fetchAll();
if(count($registrants) > 0) {
echo "<h2>People who are registered:</h2>";
echo "<table>";
echo "<tr><th>Name</th>";
echo "<th>Email</th>";
echo "<th>Date</th></tr>";
foreach($registrants as $registrant) {
echo "<tr><td>".$registrant['name']."</td>";
echo "<td>".$registrant['email']."</td>";
echo "<td>".$registrant['date']."</td></tr>";
}
echo "</table>";
} else {
echo "<h3>No one is currently registered.</h3>";
}
Теперь можно перейти к файлу http://localhost/tasklist/index.php , чтобы протестировать приложение.
Публикация приложения
Протестировав приложение локально, его можно опубликовать на веб-сайте Windows Azure с помощью Git. Однако сначала необходимо обновить в приложении сведения о подключении к базе данных. Используя сведения о подключении к базе данных, полученные ранее (в разделе «Получение сведений о подключении к базе данных SQL»), обновите следующую информацию в обоих файлах — и — соответствующими значениями.
// DB connection info
$host = "tcp:<value of SERVER>";
$user = "<value of USERNAME>@<server ID>";
$pwd = "<your password>";
$db = "<value of DATABASE>";
Примечание. К значению SERVER следует добавить, а значение объединяет значения USERNAME, '@' и идентификатор сервера. Идентификатор сервера состоит из первых 10 символов значения SERVER.
Теперь вы готовы настроить публикацию Git и опубликовать приложение.
Примечание. Выполните те же самые действия, которые описаны в конце разделов «Создание веб-сайта Windows Azure» и «Настройка публикации Git».
Откройте GitBash (или терминал, если в имеется Git), измените каталоги на корневой каталог приложения и выполните следующие команды.
git init
git add.
git commit -m "initial commit"
git remote add azure [URL for remote repository]
git push azure master
Появится запрос на ввод пароля, созданного ранее.
Перейдите на сайт http://[имя_сайта].azurewebsites.net/createtable.php, чтобы создать таблицу MySQL для приложения. Перейдите на сайтhttp://[имя_сайта].azurewebsites.net/index.php, чтобы начать использование приложения.
В опубликованное приложение можно вносить изменения и публиковать их с помощью Git.
Публикация изменений в приложение
Чтобы опубликовать изменения приложения, выполните следующие действия.
Измените приложение локально.
Откройте GitBash (или терминал, если в имеется Git), измените каталоги на корневой каталог приложения и выполните следующие команды.
git add.
git commit -m "comment describing changes"
git push azure master
Появится запрос на ввод пароля, созданного ранее.
Перейдите на сайт http://[имя_сайта].azurewebsites.net/index.php, чтобы просмотреть изменения.