Announcing WP.NET

Phalanger was capable of compiling WordPress for quite a long time, but this support was always targeted at developer audience. Experienced developers could compile WordPress and run it on their servers. However, we noticed that the combination is interesting not only to developers, but also to end users. Some of WordPress users want to run it on .NET or on Mono. Mainly for performance reasons, but some of them also because they already have other stuff running on .NET. The problem was it is quite a tough job to install Phalanger, configure, compile… don’t mentioning that on shared hosting it can be a problem to install anything.

So today we’re happy to announce WP.NET ( – A package of WordPress with embedded Phalanger. One package gives you WordPress for both .NET 4.0 and for Mono (2.10.8 and higher), with no installation hassles. If you have ASP.NET hosting it’s easy to deploy and when a new Phalanger is available, you can update it from administration section, just easily as WordPress update.

WP.NET is fully managed ASP.NET application. It does not contain any native code, so it’s possible to run it 64bit on Windows.  The same package also works on Linux using Mono with version greater than 2.10.8.

Main advanteges are that WP.NET is faster than WordPress running on normal PHP and it’s also extendable with .NET languages. Which makes it great CMS that anyone can extend and it doesn’t matter what language he chose to use. The tutorial on how it’s possible to extend it with C# is going to be published withtin few days.

Some of the PHP plugins or more advanced functionality can require some more PHP extensions that are not included in package as it’s released today. We are aware of it and there will be available package with most important managed extensions.

In the future we also plan to get WP.NET available via the Web Platform Installer.

You can find the package on its new home page and its sources on its GitHub repository Feel free to check it or improve it ;-) .

18 thoughts on “Announcing WP.NET

    • I see that, let me check it. I would post an update to our server so you could just update Phalanger automaticaly from administration section.

      • Woow very impressive, I just ran the WP updater, and it showed a Phalanger update, just did it and comments are working now.

        Will try to set it up as my main blog and will post my experience with it

        btw thanks a lot!!!

        • Ok, I’m setting up DISQUS plugin, it installed without problems but when I tried to log in to it i received

          Warning: array_slice(): Argument ‘array’ should not be NULL.

          Warning: Invalid argument supplied for foreach statement.

          hope it can be fixed

          • Could you please provide me with the actual code from plugin where the warning is thrown…so I could take a look? the best would be to post it to

            Phalanger may show warning where PHP doesn’t, but that is a feature of the compiler that prevents bugs. This can be turned off in web.config section display_errors = false, but for sure it would be better to find out where the problem is.

    • We haven’t try it yet, but we have it in todo list. It shouldn’t be much of a problem as wpdotnet is fully managed ASP.NET application and there are already some plugins solving few problems as: abstraction plugin for db enabling to use Azure SQL, blob storage etc.

  1. XP sp3 SUCCESS
    I had success installing WP.NET on XP sp3 w/IIS 5.1 with the DB Abstaction plugin to enable support for MsSql. The install was flawless and took less than 10 min for COMPLETE setup.

    Linux 64bit Troubles :(
    The pain of installing on CentOS 6.2 64 bit w/ mono 2.10.8 is giving me headaches. The dll’s that came with the wpdotnet (Bin) were also installed in the GAC . I was able to test Phalanger by creating an index.php (w/ phpinfo() ONLY) and with the web.config from the wpdotnet (SUCCESS). PhpInfo shows the phalanger configurations.

    When I revert to the original index.php provided from the wpdotnet (and all other files contained inside wpdotnet), I either get Internal Server Error 500 or unable to load assembly or dependencies. There are 3 .dlls that appear in the dynamic folder (Php.Core, MsSql, MySql).

    My Linux Investigations/Observations
    1. The apache error log shows mono SIG errors on reflection of PHPXXX.XXX
    2. SELinux is unable to be completely disabled (tried Permissive Mode and Disabled) but apache error log will shows SELinux is enabled no matter if I disable or permissive…(weird)??? — also the boolean is enabled for all apache/httpd modules in SELinux
    3. Read and Write enabled on the application folder (tried chown with root and apache user)
    4. Because the success for the XP install did not require Mysql.Data.dll I did not provide it into the BIN for the linux install (likewise, I want mssql anyway)

  2. Is there any special configuration for Centos 6.2 64bit? Ultimately, I wish to know which Linux flavor is recomended between Centos 6.2 or Ubuntu 12.04 LTS running 32/64 bit. I would be willing to fresh install my VPS just to get WordPress running on Phalanger/mono/linux. Please help… I have been following Phalanger since 2004 and I really admire the progress so far. Anyone who can point me in the proper direction would be appreciated. Thanks in advance!

    • Hi enzop,

      there isn’t any special configuration for Centos. I personaly was trying wpdotnet on Ubuntu with Mono from latest source code from git, but theoreticaly it shouldn’t make a difference. Here are some thoughts:

      1) Make sure Apache2, mod_mono and mono-apache-server4 is installed

      2) Make sure mod_mono module is enabled in Apache2:

      a2enmod mod_mono

      3) Make sure mod_mono is using mono-apache-server4 in case you have mono-apache-server2 as well. (this configuration is by default in “/etc/apache2/mods-enabled/mod_mono.conf”)

      Include /etc/mono-server4/mono-server4-hosts.conf

      (adding wordpress app settings) – will be different in order to permalinks to work

      Alias /wordpress “/usr/lib/mono/projects/wordpress”
      AddMonoApplications default “/wordpress:/usr/lib/mono/projects/wordpress”

      SetHandler mono

      4) Make sure mono has necessary rights to write into /phalanger/Dynamic

      I hope some of this can help. Btw. you can also contact us on where you can find more people willing to help.