„Die angeforderte PHP-Erweiterung bcmath fehlt auf Ihrem System.“

Lesezeit: 4 Minuten

Coelhos Benutzeravatar
Coelho

Grüße liebe Entwickler,

Ich versuche, Composer für ein PHP-Projekt von mir auf einem Entwicklungsserver zu verwenden, den ich kürzlich gestartet habe, aber aus irgendeinem Grund gelingt mir das nicht. Ich habe Composer jedoch erfolgreich installiert, wenn ich versuche, den auszuführen erfordern Befehl erhalte ich die folgende Fehlermeldung:

root@webserver:/var/mypersonal/index# composer require php-amqplib/php-amqplib
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_openssl.dll' - /usr/lib/php/20151012/php_openssl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^2.6 for php-amqplib/php-amqplib
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - php-amqplib/php-amqplib v2.6.3 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
    - php-amqplib/php-amqplib v2.6.2 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
    - php-amqplib/php-amqplib v2.6.1 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
    - php-amqplib/php-amqplib v2.6.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
    - Installation request for php-amqplib/php-amqplib ^2.6 -> satisfiable by php-amqplib/php-amqplib[v2.6.0, v2.6.1, v2.6.2, v2.6.3].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.0/cli/php.ini
    - /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.0/cli/conf.d/10-opcache.ini
    - /etc/php/7.0/cli/conf.d/10-pdo.ini
    - /etc/php/7.0/cli/conf.d/20-calendar.ini
    - /etc/php/7.0/cli/conf.d/20-ctype.ini
    - /etc/php/7.0/cli/conf.d/20-exif.ini
    - /etc/php/7.0/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.0/cli/conf.d/20-ftp.ini
    - /etc/php/7.0/cli/conf.d/20-gettext.ini
    - /etc/php/7.0/cli/conf.d/20-iconv.ini
    - /etc/php/7.0/cli/conf.d/20-json.ini
    - /etc/php/7.0/cli/conf.d/20-mysqli.ini
    - /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.0/cli/conf.d/20-phar.ini
    - /etc/php/7.0/cli/conf.d/20-posix.ini
    - /etc/php/7.0/cli/conf.d/20-readline.ini
    - /etc/php/7.0/cli/conf.d/20-shmop.ini
    - /etc/php/7.0/cli/conf.d/20-sockets.ini
    - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.0/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.0/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.0/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, deleting ./composer.json.

Ich gehe davon aus, dass es etwas mit der PHP-Warnung zu tun hat, die ich direkt beim Ausführen von erhalte Komponisten benötigen Befehl, aber keine Google-Suchergebnisse führen mich in die richtige Richtung.

Zusätzlich habe ich meine bereitgestellt /etc/php/7.0/cli/php.ini Datei, falls in dieser Datei ein Fehler auftritt.

https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (Aufgrund der Zeichenbeschränkung für Beiträge konnte ich die Datei nicht in diesen Beitrag einfügen.)

Sie können die Funktion verwenden get_loaded_extensions zu sehen, wenn bcmath Modul geladen ist. Oder im Terminal php -m oder php -m | grep name_of_the_modul

Sie können es je nach verwendetem Betriebssystem installieren:

Ubuntu

sudo apt install php7.0-bcmath

CentOS

yum install bcmath

  • Nur eine Anmerkung zur Installation: Wenn Sie php -v ausführen, können Sie überprüfen, welche PHP-Version Sie verwenden. Meins war PHP 7.1.8-1ubuntu1. Da ich 7.1 verwende, musste stattdessen php7.1-bcmath installiert werden.

    – Alex L

    22. November 2017 um 10:45 Uhr

PHP 7.2

Debian – Jessie

apt-get update

apt-get install php7.2-bcmath

funktioniert wie ein Zauber 🙂

  • Für mich funktioniert es, wir müssen nur die PHP-Version und den Paketnamen im Befehlszeilencode entsprechend den Anforderungen ändern. Ex. sudo apt install php7.3-mbstring

    – Akhilesh Kumar

    28. Mai 2021 um 13:33 Uhr

Für jede Version in PHP Centos verwenden

Diese Lösung hat bei mir funktioniert

Lecker, installiere php-bcmath

PHP nimmt die auf dem Computer installierte Standardversion, sucht nach diesem Paket und installiert es.

Löschen Sie die Datei „composer.lock“, falls diese bereits erstellt wurde, und führen Sie sie dann erneut aus.

Composer installieren

Wenn du läufst

Composer-Update

Es aktualisiert alle Standardpakete, die in Composer.json installiert sind, was möglicherweise zu Problemen für Sie führt.

In Ubuntu 20.04

Für PHP 7.4.3, sudo apt install php7.4-bcmath

Für PHP 7.1 hat bei mir Folgendes funktioniert:

sudo apt install php7.1-bcmath

Benutzeravatar von Samuel Terra
Samuel Terra

Wenn Sie Docker verwenden:

  • bcmath kann durch Ausführen dieses Befehls in einem Container installiert werden: docker-php-ext-install bcmath

Khaled Alams Benutzeravatar
Khaled Alam

Überprüfen Sie Ihre PHP-Version nach Typ: php --version

Sie werden etwa Folgendes sehen:

PHP 7.2.9-1+ubuntu16.04.1 ....

Dann sudo apt install phpX.X-bcmath wobei XX die PHP-Version ist, also wird es in diesem ^-Beispiel so sein sudo apt install php7.2-bcmath

Überprüfen Sie anschließend nach Typ, ob das Modul vorhanden ist oder nicht php -m | grep bcmath

1454220cookie-check„Die angeforderte PHP-Erweiterung bcmath fehlt auf Ihrem System.“

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy