Hi Sunil, you are certainly right and I think your idea with registering the default PHP version is pretty darn good. I haven’t thought of this and it might actually solve many issue that accompanied the transition.
Ondrej -- Ondřej Surý ond...@sury.org > On 4 May 2020, at 21:07, Sunil Mohan Adapa <su...@medhas.org> wrote: > > > Signed PGP part > Dear Maintainer, > > Problem: > > Mediawiki is not installable in testing (via FreedomBox). After running `apt > install mediawiki` running `php /usr/share/mediawiki/maintenance/install.php > ...` throws the following error: > > Error: Missing one or more required components of PHP. > You are missing a required extension to PHP that MediaWiki needs. > Please install: > * mbstring <https://secure.php.net/mbstring> > * xml <https://secure.php.net/xml> > > PHP Warning: PHP Startup: Unable to load dynamic library 'apc.so' (tried: > /usr/lib/php/20190902/apc.so (/usr/lib/php/20190902/apc.so: undefined symbol: > zif_apcu_store), /usr/lib/php/20190902/apc.so.so > (/usr/lib/php/20190902/apc.so.so: cannot open shared object file: No such file > or directory)) in Unknown on line 0 > > Expectation: > > mediawiki package already has dependency on php-xml and php-mbstring. So, > these > packages should be found by the command 'php' and installation should proceed > without error. > > Analysis: > > It turns out that /usr/bin/php is pointing to PHP version 7.4. However, when > mediawiki depends on php-xml, php-mbstring etc, it is installing all the > libraries for PHP version 7.3, that is, php7.3-xml, php7.3-mbstring. PHP 7.4 > would not have been installed on the system normally at all. However, > mediawiki > depends on php-apcu which seems to bring in PHP 7.4 (don't know how, but > removing php7.4-common removes php-apcu). > > Possible solution: > > When all the php-* packages point a version of PHP, that is the version that > command line PHP in /usr/bin/php (and FPM socket, etc.) should point to. This > means that /usr/bin/php should not point to the latest version of PHP but the > version that php-defaults depends on. Then installing a PHP app via apt and > then using it via command line (or FPM) will work without problems. > > Install packages on the system: > > # dpkg -l mediawiki > ii mediawiki 1:1.31.7-1 all website engine for collaborative > work > > # dpkg -l php* > ii php 2:7.3+69 all server-side, HTML- > embedded scripting language (default) > ii php-apcu 5.1.18+4.0.11-1+b1 amd64 APC User Cache for PHP > ii php-apcu-bc 1.0.5-2+b1 amd64 APCu Backwards > Compatibility Module > ii php-common 2:69 all Common files for PHP > packages > ii php-curl 2:7.3+69 all CURL module for PHP > [default] > ii php-fpm 2:7.3+69 all server-side, HTML- > embedded scripting language (FPM-CGI binary) (default) > ii php-intl 2:7.3+69 all Internationalisation > module for PHP [default] > ii php-mbstring 2:7.3+69 all MBSTRING module for PHP > [default] > ii php-sqlite3 2:7.3+69 all SQLite3 module for PHP > [default] > ii php-wikidiff2 1.10.0-1+b1 amd64 external diff engine > for > mediawiki > ii php-xml 2:7.3+69 all DOM, SimpleXML, WDDX, > XML, and XSL module for PHP [default] > ii php7.3 7.3.15-3 all server-side, HTML- > embedded scripting language (metapackage) > ii php7.3-cli 7.3.15-3 amd64 command-line > interpreter > for the PHP scripting language > ii php7.3-common 7.3.15-3 amd64 documentation, examples > and common module for PHP > ii php7.3-curl 7.3.15-3 amd64 CURL module for PHP > ii php7.3-fpm 7.3.15-3 amd64 server-side, HTML- > embedded scripting language (FPM-CGI binary) > ii php7.3-intl 7.3.15-3 amd64 Internationalisation > module for PHP > ii php7.3-json 7.3.15-3 amd64 JSON module for PHP > ii php7.3-mbstring 7.3.15-3 amd64 MBSTRING module for PHP > ii php7.3-opcache 7.3.15-3 amd64 Zend OpCache module for > PHP > ii php7.3-readline 7.3.15-3 amd64 readline module for PHP > ii php7.3-sqlite3 7.3.15-3 amd64 SQLite3 module for PHP > ii php7.3-xml 7.3.15-3 amd64 DOM, SimpleXML, WDDX, > XML, and XSL module for PHP > ii php7.4-cli 7.4.5-1 amd64 command-line > interpreter > for the PHP scripting language > ii php7.4-common 7.4.5-1 amd64 documentation, examples > and common module for PHP > ii php7.4-json 7.4.5-1 amd64 JSON module for PHP > ii php7.4-opcache 7.4.5-1 amd64 Zend OpCache module for > PHP > ii php7.4-phpdbg 7.4.5-1 amd64 server-side, HTML- > embedded scripting language (PHPDBG binary) > ii php7.4-readline 7.4.5-1 amd64 readline module for PHP > > > > > -- System Information: > Debian Release: 10.3 > APT prefers stable-updates > APT policy: (500, 'stable-updates'), (500, 'stable') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > > Kernel: Linux 4.19.0-8-amd64 (SMP w/4 CPU cores) > Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE > Locale: LANG=en_IN.UTF-8, LC_CTYPE=en_IN.UTF-8 (charmap=UTF-8), > LANGUAGE=en_IN.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > Init: systemd (via /run/systemd/system) > LSM: AppArmor: enabled > >
signature.asc
Description: Message signed with OpenPGP