2016-03-16 6 views
4

Я новичок в Azure, и я тестирую службу веб-приложений.
У меня есть базовый статический веб-сайт с простой формой контакта на PHP, но он, похоже, не работает.
Чтение лазурной документации here заставило меня чувствовать себя потерянным, чем раньше.

Я сделал некоторые основные испытания, и кажется, что Azure Web Apps поддержка PHP файлы как этот phptest.phpКак настроить Azure Web Apps для поддержки PHP в HTML

<?php echo "hello world"; ?> 

но терпят неудачу, когда PHP интегрируется с HTML, как в этом примере:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
    <HEAD> 
     <TITLE>Use PHP in HTML files</TITLE> 
    </HEAD> 
    <BODY>  
     <h1> 
     <?php echo "It works!"; ?>  
     </h1> 
    </BODY> 
</HTML> 

Может ли кто-нибудь направить меня через это?
Что я должен настроить в своем веб-приложении? Нужно ли связывать любые DLL?
Спасибо!

+1

Вы пытались изменить расширение файла с 'html' на' php'? –

+0

Ну, да, это должно работать, но проблема для контактной формы останется. Я не могу изменить файл index.html или дополнительные страницы. :/ – olga

ответ

5

Да, это должно сработать, но проблема в контактной форме осталась бы. Я не могу изменить файл index.html или дополнительные страницы

Если вам нужно использовать «.html» расширение файла для PHP файлов, так что они остаются в «.html» в URL, то вы будете необходимо добавить настраиваемое сопоставление обработчика в Azure Web App, чтобы файлы «* .html» обрабатывались движком PHP. В противном случае без каких-либо обработчиков. Файлы «.html» просто служат статическими ресурсами.

Может ли кто-нибудь провести меня через это?

Как показывает документация, вам необходимо зайти на портал Azure для веб-приложения и в «Настройки», затем «Настройки приложения». Здесь вы увидите конфигурацию для версии PHP, настроенной для веб-приложения. Вы захотите убедиться, что это не отключено, иначе вы не включите PHP. В настоящее время установлена ​​версия по умолчанию - v5.4.

enter image description here

При прокрутке вниз на дно, вы увидите раздел для настройки Сопоставления обработчиков. Здесь вам нужно установить расширение файла и путь к движку PHP, чтобы вы могли обрабатывать файлы «.html» с помощью PHP. Эти сопоставления обработчика такие же, как и в IIS, кстати.

Вы хотите добавить строку в обработчике Отображения со следующими значениями, без кавычек, конечно:

Расширение: "* .html"

Процессор Путь: «D: \ Program Files (x86) \ PHP \ v5.4 \ php-cgi.exe "

После сохранения это должно быть настроено для обработки файлов« .html »с помощью механизма PHP. enter image description here

Если у вас есть трудности, вам может потребоваться получить правильный путь для механизма PHP в Azure Web App. Для этого вам нужно перейти на портал Kudu для веб-приложения. К этому можно добавить добавление «.scm» к URL-адресу веб-приложения сразу после имени веб-приложения.

Например Куду доступен для веб-приложения с адресом «http://myapp.azurewebsites.net» от «http://myapp.scm.azurewebsites.net»

Однажды в Куду, вам нужно нажать на кнопку «Окружающая среда» в меню заголовка, затем прокрутите вниз до раздела «PATH». Здесь вы увидите путь к версии PHP, на которую настроено веб-приложение в списке. Используйте это значение, чтобы соответствующим образом изменить путь процессора для сопоставления обработчика.

enter image description here

Я надеюсь, что это помогает прояснить путаницу.

+0

Привет Крис, спасибо за ответ. Да, я так понимаю, мой вопрос: КАК я все это делаю в Azure Web Apps? Я должен выполнить следующие шаги, чтобы добавить это Картографирование обработчиков, потому что их документация хаотична. – olga

+0

@olga Я добавил несколько шагов, которые должны помочь. –

+0

Спасибо Крису! Очень подробное руководство. Это похоже на трюк для моего теста, и теперь PHP теперь работает в html-файлах. Однако контактная форма все еще не работает. Я не знаю этих вещей, поэтому извините, если я ничего не получаю, но я не знаю, как сделать простую работу mail.php. Из того, что я читаю в Интернете, они предлагают сторонний сервис SendGrid для контактных форм на Azure. Нет другого пути? – olga

Смежные вопросы