Page MenuHomePhabricator

MediaWiki 1.36 now requires php-intl extension
Closed, ResolvedPublic

Description

With commit rMWce8d0e9599a8: Update formatNum implementation to match tr35 and latest CLDR (T167088: Replace formatnum implementation with PHP NumberFormatter ) in mediawiki core, it requires now the php-intl extension to be installed on the system by default, without it, MediaWiki can not run.

However, the in the 1.36.0-wmf.16 INSTALL notice file in core doesn't mention this requirement, it just mentions the following extensions:

** ctype
** dom
** fileinfo
** iconv
** json
** mbstring
** xml

On my system, intl was also not part of the default available extensions (default docker php image), which could be a concidence, however, I think it's worth mentioning this requirement in INSTALL as well as adding a RELEASE-NOTES note for it.

Event Timeline

Change 640474 had a related patch set uploaded (by Florianschmidtwelzow; owner: Florianschmidtwelzow):
[mediawiki/core@master] Mention new required php extension intl

https://gerrit.wikimedia.org/r/640474

And more generally... If we now require php-intl for all MW installs... There's probably pure php fallback code that can potentially be removed...

The installer definitely checks for that sort of thing

		$useNormalizer = 'php';
		$needsUpdate = false;

		if ( function_exists( 'normalizer_normalize' ) ) {
			$useNormalizer = 'intl';
			$intl = normalize§r_normalize( $not_normal_c, Normalizer::FORM_C );
			if ( $intl !== $normal_c ) {
				$needsUpdate = true;
			}
		}

		// Uses messages 'config-unicode-using-php' and 'config-unicode-using-intl'
		if ( $useNormalizer === 'php' ) {
			$this->showMessage( 'config-unicode-pure-php-warning' );
		} else {
			$this->showMessage( 'config-unicode-using-' . $useNormalizer );
			if ( $needsUpdate ) {
				$this->showMessage( 'config-unicode-update-warning' );
			}
		}

To be remove: Checks for extension_loaded( 'intl' ) and the phan-stub for intl seems useless as well.

Change 640474 merged by jenkins-bot:
[mediawiki/core@master] Mention new required php extension intl

https://gerrit.wikimedia.org/r/640474

Still some more cleanup to do I guess so this can stay open

Some fallout from this.. Now stock php on macos 10.15.7, which has php 7.3.11... Doesn't have ext-intl

I'm going to have to brew install php :)

Reedy renamed this task from MediaWiki 1.36.0-wmf.16 requires php-intl extension to MediaWiki 1.36 now requires php-intl extension.Nov 28 2020, 11:44 PM
Reedy updated the task description. (Show Details)

Change 644032 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] Remove some checks for extension_loaded( 'intl' )

https://gerrit.wikimedia.org/r/644032

Change 644033 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] Remove ext-intl phan stubs

https://gerrit.wikimedia.org/r/644033

Change 644034 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] CollatonTest: Stop checking for intl being loaded

https://gerrit.wikimedia.org/r/644034

Change 644035 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] Installer: Remove PHP fallback from lack of ext-intl

https://gerrit.wikimedia.org/r/644035

Change 644032 merged by jenkins-bot:
[mediawiki/core@master] Remove some checks for extension_loaded( 'intl' )

https://gerrit.wikimedia.org/r/644032

Change 644034 merged by jenkins-bot:
[mediawiki/core@master] CollationTest: Stop checking for intl being loaded

https://gerrit.wikimedia.org/r/644034

Florian claimed this task.

Last changes are +2ed, so this should be fine to be closed :)

Change 644033 merged by jenkins-bot:
[mediawiki/core@master] Remove ext-intl phan stubs

https://gerrit.wikimedia.org/r/644033

Change 644035 merged by jenkins-bot:
[mediawiki/core@master] Installer: Remove PHP fallback from lack of ext-intl

https://gerrit.wikimedia.org/r/644035