Хотя, вероятно, эта публикация будет устаревшей в ближайшие дни, на момент написания статьи 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 . Как только мы введем наш пароль, у нас будет доступ к нашей оболочке Веб-сайт:
Теперь давайте возьмем исполняемый файл 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 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 5.5:
Наслаждайтесь!