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
> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to