Статьи

Включение PHP 5.5 на веб-сайтах Windows Azure с использованием удаленной оболочки и KuduExec

Хотя, вероятно, эта публикация будет устаревшей в ближайшие дни, на момент написания статьи Windows Azure Web Sites не поддерживала PHP 5.5 (опять же: пока). В этой статье мы рассмотрим, как включить PHP 5.5 на веб-сайтах Windows Azure самостоятельно. В прошлом году мой друг Кори написал пост о  включении PHP 5.4 на веб-сайтах Windows Azure,  который также применим к PHP 5.5. Однако я хочу обсудить другой подход. И продолжайте читать, если PHP 5.5 уже официально доступен на WAWS: здесь есть несколько советов и подсказок.

Включить PHP 5.5 на веб-сайтах Windows Azure довольно просто. Все, что нам нужно, это извлеченная версия  php-cgi.exe  и все расширения на нашем веб-сайте и отображение обработчика в IIS. Теперь … как получить этот исполняемый файл PHP там? Кори использовал  подход загрузки PHP с использованием FTP  для загрузки исполняемого файла. Но зачем соглашаться на FTP, если у нас есть доступ к нашему веб-сайту Windows Azure?

Оболочка доступа к веб-сайтам Windows Azure

Давайте сначала сделаем небольшой шаг. Как подключиться к оболочке Windows Azure Web Sites? Это немного зависит от того, являетесь ли вы Node-head или .NET-head. Если вы первый, просто запустите следующую команду:

npm install kuduexec -g

В другой ситуации скачайте и скомпилируйте  KuduExec.Net .

KuduExec (или KuduExec.Net) — это простые оболочки для API веб-сайтов Windows Azure, которые можно использовать для получения доступа к оболочке поверх нашего веб-сайта. Оба подхода используют одно и то же имя команды, поэтому давайте подключимся:

kuduexec https://<yourusername>@<yoursite>.scm.azurewebsites.net/

Мы будем подключаться к конечной точке API нашего веб-сайта, которая является просто .scm.azurewebsites.net «> https: // <yoursite> .scm.azurewebsites.net . Как только мы введем наш пароль, у нас будет доступ к нашей оболочке Веб-сайт:

Оболочка доступа к веб-сайту Windows Azure

Теперь давайте возьмем исполняемый файл PHP там.

Загрузка PHP через оболочку

Мы хотим загрузить правильный PHP 5.5 на наш веб-сайт Windows Azure. Со  страницы загрузки PHP нам потребуется   URL-адрес zip-файла VC11 x86 Non Thread Safe . Далее, мы можем использовать  curl  для загрузки его в файловую систему нашего веб-сайта. Но где?

Веб-сайты Windows Azure имеют интересную файловую систему. Некоторые папки являются локальными для хоста, на котором работает ваш сайт, другие расположены в центральной файловой системе, общей для всех экземпляров текущего веб-сайта. Помните: все, что находится в   папке VirtualDirectory0, синхронизируется с другими машинами, на которых работает ваш веб-сайт. Итак, давайте создадим папку bin, в которую мы будем загружать PHP.

mkdir bin 
cd bin
curl -O http://windows.php.net/downloads/releases/php-5.5.0-nts-Win32-VC11-x86.zip

Это загрузит PHP ZIP в файловую систему.

Скачать PHP используя curl

Нам также нужно будет разархивировать нашу установку PHP 5.5. К счастью, в оболочке WAWS есть инструмент unzip,  который мы можем вызвать:

mkdir php-5.5.0
unzip php-5.5.0-nts-Win32-VC11-x86.zip -d php-5.5.0

При необходимости мы можем изменить каталоги и запустить PHP из оболочки. Помните, что когда PHP требует ввода (что будет в случае, если параметры не передаются), оболочка будет блокироваться.

Включение нашей пользовательской версии PHP на веб-сайтах Windows Azure

Следующее, что нам нужно сделать, это включить эту версию PHP на нашем веб-сайте. Это должно быть сделано через портал управления. На   вкладке КОНФИГУРАЦИЯ мы можем добавить отображение обработчика. Сопоставление обработчиков — это метод указания IIS, веб-серверу, запускать данный исполняемый файл при поступлении запроса на конкретное расширение файла. Давайте сопоставим  * .php  нашему исполняемому файлу PHP. Мы можем использовать   путь VirtualDirector0, который у нас был ранее, или использовать его более короткую форму:  D: \ home . Наша установка PHP находится в  D: \ home \ bin \ php-5.5.0 \ php-cgi.exe .

Отображение обработчика PHP

После сохранения наш веб-сайт должен работать под управлением PHP 5.5:

Запуск PHP 5.5 в Windows Azure

Наслаждайтесь!