Result so far: PHP5 is not supported by Phalanger, latest build can't even process "require()" PHP call. Waiting for the newer release...
Software
- IIS with ASP.NET enabled
- Visual Studio 2008 pro
- Phalanger
- MediaWiki source code
- MySQL
- The latest stable Phalanger build - March 2008 official release - is broken. It fails on
require_once( "$preIP/includes/WebStart.php" );
Unfortunately, Phalanger team does not have nightly builds setup yet, and building it is not as simple as I was hoping. IMHO, continuous integration is the key for this kinds of projects. - Beta 4 (2007) does not support VS2008, and does not implement any of the PHP5 features. I don't know if the final release has PHP5 support, but b4 definitely does not support the new XML DOM objects. I guess it should be possible to use older MediaWiki release for PHP4, but I haven't tried that yet.
<configuration>
<phpNet>
<classLibrary>
<add assembly="PhpNetMySql, Version=2.0.0.0, Culture=neutral, PublicKeyToken=2771987119c16a03" section="mysql" />
<add assembly="php_curl.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="curl" />
<add assembly="php_exif.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="exif" />
<add assembly="php_gd2.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="gd2" />
<add assembly="php_domxml.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="domxml" />
<add assembly="php_xml.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="xml" />
<add assembly="php_mbstring.mng, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="mbstring" />
</classLibrary>
<compiler>
<!-- Whether to compile scripts in debug mode. -->
<set name="Debug" value="true" />
</compiler>
<error-control>
<set name="ReportErrors" phpName="error_reporting">
<remove value="Warning,Notice,Strict"/>
</set>
</error-control>
<globalization>
<!--
Encoding used for converting source files to Unicode and for run-time binary data conversions.
The value should be one of the identifiers of the code-page supported by Windows OS.
These include e.g. values "Latin1", "Latin2", "Windows-1250" etc
An empty value means the default code-page used by OS used.
Option has application scope and cannot be changed in application sub-directories.
-->
<set name="PageEncoding" value="Windows-1250" />
</globalization>
</phpNet>
<system.web>
<!-- Encoding used by web server to encode output data sent to the client. -->
<globalization responseEncoding="Windows-1250" />
</system.web>
</configuration>