Composer Fehler: ext-fileinfo fehlt

Probleme in Linux: ext-fileinfo fehlt für ein „composer update“.

Beim Versuch in Linux ein PHP-Projekt mit Composer zum Laufen zu bekommen, bekam ich folgende Fehlermeldung:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpoffice/phpspreadsheet[1.20.0, ..., 1.24.1] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
    - Root composer.json requires phpoffice/phpspreadsheet ^1.20 -> satisfiable by phpoffice/phpspreadsheet[1.20.0, ..., 1.24.1].

Es fehlte das Zusatzmodul „ext-fileinfo“. Gut, das sollte sich doch leicht über die „php.ini“ Datei aktivieren lassen, oder?

In der „php.ini“ Datei findet sich folgender Eintrag, welcher zu aktivieren ist:

extension=fileinfo

Windows-Nutzer finden einen ähnlichen Eintrag:

extension=php_fileinfo.dll

Normal sollte es genügen, das „;“ am Anfang zu entfernen. Anschließend den Apache Server neu starten.

sudo systemctl apache2 restart

Zu beachten ist, dass es in Linux u.U. zwei „php.ini“ Dateien gibt:

/etc/php8/cli/php.ini
/etc/php8/apache2/php.ini

Es gibt eine Variante für das Command Line Interface (CLI) und für den Apache-Webserver. In beiden sollte die Änderung durchgeführt werden.

Dummerweise lief es anschließend immer noch nicht. Mit dem Befehl „php -m“ lässt sich übrigens überprüfen, welche Module geladen bzw. aktiv sind. Hier fehlte die „fileinfo“ jedoch.

Die Lösung war, dies nachzuinstallieren.

sudo apt-get install php8-fileinfo

Oder in meinem Fall bei openSuse:

sudo zypper install php8-fileinfo

Anschließend wurde das Modul gefunden, geladen und das Update mit Composer funktionierte nun problemlos.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.