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.
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.
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:
— Ben Adams (@ben_a_adams) February 28, 2017
Microsoft MVP Ben Adams and his mindboggling Peachpie benchmarks – we’ll get back to that below.
WordPress Running on .NET https://t.co/ACrqnoKqOZ There's a headline I never expected to see
— Brad Williams (@williamsba) February 28, 2017
WordPress guru Brad Williams.
Cool. PHP compiler for .NET runs UrhoSharp and can also target Android and iOS. https://t.co/fMz0CgmbEk
— Miguel de Icaza (@migueldeicaza) February 28, 2017
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.
— Tomas Petricek (@tomaspetricek) February 28, 2017
Former member of the Phalanger core development team and F# connoisseur Tomas Petricek.
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:
- [Czech] Jan Polzer: WordPress nyní běhá na .NET. Díky Peachpie
- [Italian] Claudio Garau: WordPress su .NET con Peachpie
- [German] Entwickler.de: Peachpie: WordPress auf .NET ausführen
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
305612 requests/sec is quite impressive. If you want to check out Ben’s benchmark, you can find it here.
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.