Коротко: я пытаюсь заставить PHP работать на том же сайте, что и сайт ASP.Net Core.
Долго: я переписал свой веб-сайт для миграции с сайта WebForms на сайт ASP.Net core 1.1. Мой старый сайт работал как на ASP.NET, так и на PHP (у меня был экземпляр WordPress, работающий в подпапке, которая использовалась для записи сообщений в блоге в базу данных sqlite, по сути, используя его как часть управления контентом, и он хорошо работал для этого на 4 года).
Я надеялся сделать то же самое с ASP.Net Core в Azure, но столкнулся с проблемами. Я опубликовал сайт, и .Net сторона запускается и работает. Однако PHP больше не работает (кажется, что эти файлы могут быть направлены через ASP.Net Core? ..
В Azure я использую .Net Framework 4.6 и PHP 5.6. «index.php» настроен как один из документов по умолчанию. Я попытался настроить сопоставления обработчиков в php-cgi.exe. Я обнаружил следующее в EventLog, который заставляет меня думать, что файлы не направляются в PHP:
<Event>
<System>
<Provider Name="IIS AspNetCore Module"/>
<EventID>1000</EventID>
<Level>0</Level>
<Task>0</Task>
<Keywords>Keywords</Keywords>
<TimeCreated SystemTime="2017-06-05T18:36:25Z"/>
<EventRecordID>426103812</EventRecordID>
<Channel>Application</Channel>
<Computer>RD0003FF4207D0</Computer>
<Security/>
</System>
<EventData>
<Data>Application 'MACHINE/WEBROOT/APPHOST/YOURSITE/BLOG' with physical root 'D:\home\site\wordpress\' failed to start process with commandline '".\yoursite.exe" ', ErrorCode = '0x80070002 : 0.</Data>
</EventData>
</Event>
Заметки:
Что мне нужно сделать, чтобы запустить ASP.Net Core и PHP на одном сайте?
Успешно решить, выполнив следующее.
Добавление файла web.config в каталог / blog для удаления обработчика aspNetCore
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="aspNetCore"/>
</handlers>
</system.webServer>
</configuration>
Я не эксперт ASP.Net Core, но я считаю, что виртуальный каталог — лучший выбор для удовлетворения ваших требований. Вы можете проверить следующие темы для деталей.
Как разместить php-скрипт в основном веб-приложении dotnet, размещенном в Azure