Mediawiki and php upgrade

I ran afoul of my mediawiki install again. It is running in a jail (jail is 13.2-RELEASE-p1, host system is 14.0-RELEASE-p3), and I upgraded the OS on the jail. Once I did, I found that nginx started giving a 502 bad gateway. Apparently, it is because of a change in php-fpm...Because my mediawiki-1.35 is built on php80, which is end of life since Nov 2023...

So I rolled the jail back from a snapshot, and attempted to upgrade the php80 packages. I listed and pkg deleted the following packages:
Code:
$ pkg info | grep php80
mediawiki135-php80-1.35.13     Wiki engine used by Wikipedia
php80-8.0.30                   PHP Scripting Language
php80-ctype-8.0.30             The ctype shared extension for php
php80-dom-8.0.30               The dom shared extension for php
php80-fileinfo-8.0.30          The fileinfo shared extension for php
php80-filter-8.0.30            The filter shared extension for php
php80-iconv-8.0.30             The iconv shared extension for php
php80-intl-8.0.30              The intl shared extension for php
php80-mbstring-8.0.30          The mbstring shared extension for php
php80-mysqli-8.0.30            The mysqli shared extension for php
php80-pdo-8.0.30               The pdo shared extension for php
php80-pdo_mysql-8.0.30         The pdo_mysql shared extension for php
php80-pecl-APCu-5.1.23         APC User Caching
php80-readline-8.0.30          The readline shared extension for php
php80-session-8.0.30           The session shared extension for php
php80-sockets-8.0.30           The sockets shared extension for php
php80-xml-8.0.30               The xml shared extension for php
php80-xmlreader-8.0.30         The xmlreader shared extension for php
php80-zlib-8.0.30              The zlib shared extension for php

Then I tried to jump from php80 to php82, and did a pkg install mediawiki135-php82 php82-pdo php82-pdo_mysql. It got rid of the bad gateway, but every page loaded had a bunch of deprecation warnings before and interspersed with the page content. I also got a warning that mediawiki-135 will be deprecated sometime after 31 March 2024. So I rolled back to php80 until I can figure out how best to approach this. Was the straight jump from php 8.0 to 8.2 in one fell swoop too much? Should I have gone from 8.0 -> 8.1 - 8.2? And at what point in the upgrade process should I upgrade mediawiki? In an ideal world, I would like to end up on mediawiki 1.40 or 1.41 and php 8.2 or 8.3 (since 8.1 EOLs at the end of 2024).

Thoughts?
--vr
 
I'd advise to prefer Mediawiki long term versions (LTS) because it is easier to maintain them and dependencies like PHP.
One wants long overlapping periods also with the versions of the underlying database.

Mediawiki 1.39.x (LTS version) is expected EoL November 2025.

Upstream Mediawiki had problems keeping track with viable PHP versions.
They made it ready just in time for PHP8.1 and 8.2 does not show up yet in their compatibility list.

Also Mediawiki has internal dependencies on their own modules that might need a certain PHP version.
For a production Mediawiki I'd stick with PHP8.1 as long as no further note is given that 8.2 is broadly usable.

So it depends on your local needs and dependencies if you want to try PHP > 8.1.
 
… attempted to upgrade the php80 packages …



In context (this, or something like it, should be essential reading for all users of ports and packages):


Some discussion of MediaWiki at <https://matrix.to/#/#FreeBSD-Wiki-Upgrade:matrix.org>

HTH
 
I'd advise to prefer Mediawiki long term versions (LTS) because it is easier to maintain them and dependencies like PHP.
One wants long overlapping periods also with the versions of the underlying database.

Mediawiki 1.39.x (LTS version) is expected EoL November 2025.

Upstream Mediawiki had problems keeping track with viable PHP versions.
They made it ready just in time for PHP8.1 and 8.2 does not show up yet in their compatibility list.

Also Mediawiki has internal dependencies on their own modules that might need a certain PHP version.
For a production Mediawiki I'd stick with PHP8.1 as long as no further note is given that 8.2 is broadly usable.

So it depends on your local needs and dependencies if you want to try PHP > 8.1.
I'll go with nediawiki 1.39 LTS and php8.1. I was actually trying get ahead of the curve, since 8.1 goes EOL Nov 2024, and 8.2 not until 2025, but I'll take anything that gets me from behind the 8 ball. :) Luckily, it is in a jail, so rolling back in case of problems is drop-dead simple.
 
Back
Top