Recap and Video: Setting up WordPress on .NET

The article, in which we introduced the milestone achievement of being able to get WordPress running on .NET, received quite a bit of attention. Let’s recap what happened and follow up with video tutorial.

Recap

A few weeks back, we introduced that we are finally able to run a virtually unmodified clone of WordPress on .NET Core 1.0 with Peachpie.

Note: Please beware, just as we state in the prerequisites, that it is required to have .NET Core 1.0 installed. Several users have pointed out in the Gitter chat that the compilation fails with .NET Core 1.1.0 (preview). This is due to the fact dotnet still uses the .NET Core 1.0 compilation tools in .NET Core 1.1.0. We will have to wait for Microsoft to patch this up, but keep in mind the new .NET Core SDK is still a preview.

The modifications we made are there for Peachpie to compile the project. They are, however, just temporary until the necessary functionalities are implemented in Peachpie. The missing constructs are further down on the roadmap and it was our plan to finally offer something tangible to work with.

Don’t worry, once Peachpie will support the missing functionalities, it will also be able to run a fully unmodified clone of WordPress. Until then, we have prepared a version of WordPress with the necessary modifications for you to download or fork.

So far, we are able to run the standard WordPress dashboard, including the customizer functions. However, plugin support is highly limited – in fact we assume most plugins won’t work yet. Therefore, the current support for WordPress is just for the bare WordPress construct and you can consider this a proof of concept. We always reiterate that Peachpie is still in version 0.5.0 and is not intended to be used in a production setting yet.

Reception

The way and extent to which our post was received really exceeded our expectations. Our post on Hackernews went viral, and many reputable members of the community praised or mentioned us, which we really appreciated:

Microsoft MVP Ben Adams and his mindboggling Peachpie benchmarks – we’ll get back to that below.

WordPress guru Brad Williams.

Xamarin founder Miguel de Icaza on our first attempt at using UrhoSharp with PHP. So far, we can only run it on Windows, but Miguel will definitely like what we will do soon.

Former member of the Phalanger core development team and F# connoisseur Tomas Petricek.

Articles

We also saw a whole host of articles on the topic, most notably Matthew Hughes’ article in The Next Web, which we really liked. Additionally, there have been numerous articles in languages other than English:

Ben Adams’ Techempower Benchmark

Ben Adams took it upon himself to run the Techempower plaintext benchmark with Peachpie and his results were quite fascinating:

Pipeline depth: 16
Running 10s test @ http://...:5004/plaintext.php
  40 threads and 1024 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    49.94ms   76.02ms   1.29s    92.38%
    Req/Sec     7.69k     2.00k   17.05k    78.68%
  3086700 requests in 10.10s, 441.56MB read
  Socket errors: connect 19, read 0, write 0, timeout 45
Requests/sec: 305612.35
Transfer/sec:     43.72MB

305612 requests/sec is quite impressive. If you want to check out Ben’s benchmark, you can find it here.

Video Tutorial

In order to better present how to run WordPress on .NET with Peachpie, we made an instructional video tutorial, where we go into more detail than we did in the blog post:

In this video, you can see exactly which steps are required, from setting up your MySQL database with Docker, all the way to compiling the project and running WordPress in your browser.

If you enjoyed the option of compiling WordPress to .NET and running it on .NET Core, we always appreciate spreading the word. If you believe you can do so, do get involved and contribute to the project. The more contributors, the faster we will be able to get full frameworks (Symfony, CakePHP etc.) or unmodified versions of CMS’s running.

Track our progress on GitHub and follow us on Twitter and Facebook for updates. If you have any questions, join our chat on Gitter.

Share this article:Share on FacebookShare on VKPin on PinterestShare on Google+Tweet about this on TwitterShare on LinkedInShare on Reddit
Posted on March 21, 2017, in category Information, News, Tutorial, tags: , , , , , ,