peachpie
peachpie copied to clipboard
MediaWiki issues and workarounds
Current issues in compiling and running MediaWiki using Peachpie and their workarounds in our fork:
- [ ]
preg_replacetransforms a string containing binary data to a .NET string according to the current encoding, corrupting the binary data of SQL queries. It's used only to add a comment to the query, so we skipped it completely: https://github.com/iolevel/mediawiki/commit/11209eac93f1a0320510982632754e706c0a1e45 - [ ] Casting a value to
string(by explicit cast or a parameter type hint) causes conversion to .NET string, possibly corrupting the binary data (the same case as above). Skipped: https://github.com/iolevel/mediawiki/commit/fab575d2171f3a2f13302f79ae204abf98393c00 - [ ] Different
__destructsemantics: MediaWiki usesScopedCallbackclass which calls a given callback in its destructor, expected to be called immediately when it goes out of scope. This doesn't happen in Peachpie, so we had to tweak its usage: https://github.com/iolevel/mediawiki/commit/c78df8d2c73d8a45733922dcdfd715a2c7170d5d, https://github.com/iolevel/mediawiki-vendor/commit/9de61d4b331e075899b3e2818fb9a1dbc7953075 - [ ] Compile-time errors: undefined base classes in https://github.com/iolevel/mediawiki-vendor/commit/502b13b6fe2cf5d9d7ff6270e0ecc7ff47c6ce03, interface instantiation in https://github.com/iolevel/mediawiki-vendor/commit/689303e3077b5c2e0254501eea33c3c12f0ead98 and missing
parentin https://github.com/iolevel/mediawiki-vendor/commit/c4e8b6de7a735de5225f53dc83d46bba7ee1fce9