Есть ли что-то необходимое для размещения / запуска файла PHP в ASP.NET 5?

Я создал проект ASP.NET 5, и все, что вам нужно, должно быть включено в качестве зависимости как часть файла проекта или bower или npm. Я замечаю, что не могу запустить / разместить какие-либо php-файлы (которые существуют для поддержки некоторых устаревших компонентов) в облаке Azure. Даже если он включен. Файл просто возвращается как 404.

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

мой project.json

{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},

"dependencies": {
"Microsoft.ApplicationInsights.AspNet": "1.0.0-beta8",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final"
},

"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"},

"frameworks": {
"dnx451": { },
"dnxcore50": { }
},

"exclude": [
"wwwroot",
"node_modules"],
"publishExclude": [
"**.user",
"**.vspscc"]
}

мой startup.cs

 public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.UseDefaultFiles();
app.UseStaticFiles();
}

// Entry point for the application.
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}

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

Обновить: Это не проблема «Azure». Я удалил все файлы на сайте через ftp и просто загрузил обычные html и php файлы, и это работает. Это связано с публикацией сайта asp.net 5.

0

Решение

Вы не можете компилировать и обслуживать файлы PHP непосредственно из конвейера ASP.NET 5, а веб-сайты AFAIK Azure поддерживают только один тип сервера для каждого экземпляра сайта.

Вы могли бы служить содержание PHP-файла с использованием промежуточного программного обеспечения статических файлов, но я уверен, что это не то, что вы хотите.

Вам нужно как минимум два сервера. Или IIS или Kestrel для ASP.NET, и Apache (или что-то еще?) Для PHP. Затем вы должны настроить один из серверов для работы в качестве обратного прокси-сервера для другого для определенных запросов.

Например, скажем, у вас есть Apache прослушивания localhost:80 и IIS слушают localhost:81, Затем вы можете заставить Apache принимать все запросы извне и пересылать любые запросы, которые не заканчиваются .php в localhost:81,

0

Другие решения

Других решений пока нет …