"in-place", as long as you have the necessary prerequisites available.
Required software:
-* Web server with PHP 5.1.x or higher.
+* Web server with PHP 5.2.x or higher.
* A SQL server, the following types are supported
** MySQL 4.0.14 or higher
-** PostgreSQL 8.1 or higher
+** PostgreSQL 8.3 or higher
** SQLite
MediaWiki is developed and tested mainly on Unix/Linux platforms, but should
Those wishing to use the latest code instead of a branch release can obtain
it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
+=== PHP 5.2 now required ==
+In 1.18, the lowest supported version of MediaWiki is now 5.2.x. Please upgrade
+PHP if you have not done so prior to upgrading MediaWiki.
+
=== Configuration changes in 1.18 ===
* The WantedPages::getSQL hook has been removed and replaced with
WantedPages::getQueryInfo . This may break older extensions.
'config-env-bad' => 'The environment has been checked.
You cannot install MediaWiki.',
'config-env-php' => 'PHP $1 is installed.',
+ 'config-env-php-toolow' => 'PHP $1 is installed.
+However, MediaWiki requires PHP $2 or higher.',
'config-unicode-using-utf8' => 'Using Brion Vibber\'s utf8_normalize.so for Unicode normalization.',
'config-unicode-using-intl' => 'Using the [http://pecl.php.net/intl intl PECL extension] for Unicode normalization.',
'config-unicode-pure-php-warning' => "'''Warning''': The [http://pecl.php.net/intl intl PECL extension] is not available to handle Unicode normalization, falling back to slow pure-PHP implementation.
*/
abstract class Installer {
+ // This is the absolute minimum PHP version we can support
+ const MINIMUM_PHP_VERSION = '5.2.0';
+
/**
* @var array
*/
* @return Status
*/
public function doEnvironmentChecks() {
- $this->showMessage( 'config-env-php', phpversion() );
-
- $good = true;
+ $phpVersion = phpversion();
+ if( version_compare( $phpVersion, self::MINIMUM_PHP_VERSION, '>=' ) ) {
+ $this->showMessage( 'config-env-php', $phpVersion );
+ $good = true;
+ } else {
+ $this->showMessage( 'config-env-php-toolow', $phpVersion, self::MINIMUM_PHP_VERSION );
+ $good = false;
+ }
- foreach ( $this->envChecks as $check ) {
- $status = $this->$check();
- if ( $status === false ) {
- $good = false;
+ if( $good ) {
+ foreach ( $this->envChecks as $check ) {
+ $status = $this->$check();
+ if ( $status === false ) {
+ $good = false;
+ }
}
}