PHP在.NET Core 上运营的 WordPress

在.NET Core 上运营的 WordPress,无需安装PHP既可跨平台运维WordPress。

在Peachpie中落实PHP所需的机能数月后,现在总算得以运作三个诚实的应用程序:WordPress。

本文是依据Peachpie https://github.com/iolevel/peachpie  

Peachpie是三个依照Microsoft的Roslyn的现代PHP编写翻译器。

在.NET上运行WordPress

流行的Phalanger项目已经申明,可以在Microsoft
.NET上运行大约未经修改的WordPress应用。

不过那么些化解方案存在着难题,与新的WordPress版本不一样盟。今后,Peachpie
也能够将WordPress作为三个全然托管的应用程序运营在.NET和.NET Core上。

那只是三个认证Peachpie还是是1个正在开始展览中的项目。不建议在生育条件中接纳它

本篇作品重要指标是印证Peachpie真的与WordPress中采取的标准PHP包容,并呈现其亮点。

先决条件:

.NET Core 1.1 or newer

MySQL Server

 

对WordPress修改

是因为Peachpie 0.5.0版本,编写翻译器不支持扩张有原则注解的类,如

if (condition) { class X {} }
class Y extends X {} // extending conditionally declared class

wp-includes/class-json.php:

  • 申明条件 if (!class_exists(…))
  • 诠释第叁个瑟维斯s_JSON_Error类,保留第三个

那边准备了叁个改动好的WordPress版本,已经席卷地点修改,使你编写翻译项目更易于。

.NET
Core WordPress

预先修改 wp-config.php 配置了带有MySQL数据库的证据的文件。使用暗中认可端口330六,密码为”
,服务器是’localhost’。那里大家依照实际景况举办修改。

 

编译WordPress

运用 Peachpie.Compiler.Tools 实行编写翻译WordPress项目。

然后有一个app 项目也等于ASP.NET Core。

static void Main() {
    var root = Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()) + "/website";

    var host = new WebHostBuilder()
        .UseKestrel()
        .UseWebRoot(root).UseContentRoot(root) // content root with wp static files
        .UseUrls("http://*:5004/")
        .UseStartup<Startup>() // initialization routine, see below
        .Build();

    host.Run();
}

class Startup {
    public void Configure(IApplicationBuilder app) {
        Pchp.Core.Context.DefaultErrorHandler = new Pchp.Core.CustomErrorHandler(); // disables debug asserts

        app.UsePhp(new PhpRequestOptions() { ScriptAssembliesName = new[] { "website" } }); // installs handler for *.php files and forwards them to our website.dll
        app.UseDefaultFiles();
        app.UseStaticFiles();
    }
}

跟着还原项目,在根目录下dotnet restore.

回复好以往

cd app

dotnet run

PHP 1

然后访问http://localhost:5004/ ,只要MySQL
配置不错,就会跳转至安装界面。注意要先在数据库中创建wordpress 数据库。

PHP 2

为了表明该网址确实在.NET Core上运维,大家得以反编写翻译website.dll 看看。

PHP 3

 

参考文书档案:

https://github.com/linezero/peachpie-wordpress

https://github.com/iolevel/peachpie-wordpress

http://www.peachpie.io/2017/02/wordpress-announcement.html

 

假若您觉得本文对你有救助,请点击“推荐”,谢谢。

相关文章