From 305522e4e6a966e3aea74e7138e5db5a7c9c5d4b Mon Sep 17 00:00:00 2001 From: Ilmari Karonen Date: Sun, 17 Dec 2006 13:40:28 +0000 Subject: [PATCH] Detect PHP 5.0.x 64-bit bug and abort in WebStart.php; too many things break mysteriously otherwise (detection code copied from install-utils.inc) --- RELEASE-NOTES | 2 ++ includes/WebStart.php | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index d7fd7a474b..1c63875b31 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -334,6 +334,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 8153) doesn't work in site notice * (bug 6690) wfMsgNoTrans() transforms messages * (bug 8274) Wrap edit tools in a
with a specified class +* Detect PHP 5.0.x 64-bit bug and abort in WebStart.php; too many things break + mysteriously otherwise (detection code copied from install-utils.inc) == Languages updated == diff --git a/includes/WebStart.php b/includes/WebStart.php index 0c71ce53da..37582290d5 100644 --- a/includes/WebStart.php +++ b/includes/WebStart.php @@ -4,6 +4,16 @@ # starts the profiler and loads the configuration, and optionally loads # Setup.php depending on whether MW_NO_SETUP is defined. +# Test for PHP bug which breaks PHP 5.0.x on 64-bit... +# As of 1.8 this breaks lots of common operations instead +# of just some rare ones like export. +$borked = str_replace( 'a', 'b', array( -1 => -1 ) ); +if( !isset( $borked[-1] ) ) { + echo "PHP 5.0.x is buggy on your 64-bit system; you must upgrade to PHP 5.1.x\n" . + "or higher. ABORTING. (http://bugs.php.net/bug.php?id=34879 for details)\n"; + die( -1 ); +} + # Protect against register_globals # This must be done before any globals are set by the code if ( ini_get( 'register_globals' ) ) { -- 2.20.1