wp_title tag site page name get_the_title blog php web configuration composer-php ini

tag - PHP | "Falta la extensión de PHP solicitada bcmath en su sistema".



wp site title php (9)

PHP 7.2

Debian - Jessie

apt-get update apt-get install php7.2-bcmath

trabajar como un encanto :)

Saludos compañeros desarrolladores,

Estoy tratando de usar Composer para un proyecto PHP mío en un servidor de desarrollo que inicié recientemente y por alguna razón no puedo. Sin embargo, instalé el compositor correctamente, cuando intento ejecutar el comando require , aparece el siguiente error:

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.

Supongo que es algo que ver con la advertencia de PHP que recibo cuando ejecuto el comando require composer, pero los resultados de búsqueda de Google no me llevan a la dirección correcta.

Además, proporcioné mi archivo /etc/php/7.0/cli/php.ini en caso de un error en ese archivo.

https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (No pude incluir el archivo en esta publicación debido al límite de caracteres en las publicaciones).

Gracias.


Espero que esto solucione el problema.

sudo apt instalar php-bcmath


Para PHP 7.1, lo siguiente funcionó para mí:

sudo apt install php7.1-bcmath


Para cualquier versión en uso php centos.

Esta solucion funciono para mi

yum instalar php-bcmath

PHP tomará la versión predeterminada instalada en la máquina, buscará ese paquete e instalarlo.

Elimine el archivo composer.lock si ya está creado y vuelva a ejecutar,

instalación del compositor

Si tu corres

actualización del compositor

actualizará los paquetes predeterminados que estén instalados en composer.json, lo que podría crearle problemas.


Para este problema deberíamos usar sudo apt install php-bcmath


Probé el siguiente paquete y funcionó en Php versión 5.6

yum install php56w-bcmath


Puede usar la función get_loaded_extensions para ver si bcmath está cargado. O en la terminal php -m o php -m | grep name_of_the_modul php -m | grep name_of_the_modul

Puedes instalarlo dependiendo del sistema operativo que estés utilizando:

Ubuntu

sudo apt install php7.0-bcmath

CentOS

yum install bcmath


Revisa tu versión de php por tipo: php --version

Verás algo como esto:

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

luego sudo apt install phpX.X-bcmath donde XX es la versión php, por lo que para este ejemplo, será sudo apt install php7.2-bcmath

después de esto, verifique si el módulo existe o no por tipo php -m | grep bcmath php -m | grep bcmath


Cosa extraña aquí
Hace un mes instalé todas las versiones de PHP de la misma manera. Aquí están las 4 versiones configuradas de manera idéntica de php: 5.6, 7.0, 7.1, 7.2, con las mismas extensiones (cuando esto fue posible).
Lo extraño fue que bcmath está presente en todas las versiones de PHP, excepto en 7.1.
En la búsqueda de soluciones llego aquí en esta pregunta, donde las cosas de la lógica se confirmaron al instalar bcmath, pero en mi servidor Linode Debian 9 el comando apt install php7.1-bcmath no funciona, con 3 mensajes de error;

  • E: Imposible encontrar el paquete php7.1-bcmath
  • E: Imposible encontrar algún paquete con glob "php7.1-bcmath"
  • E: Imposible encontrar un paquete con la expresión regular "php7.1-bcmath"

Los objetivos no se pueden cumplir con ninguna combinación de consejos y trucos, actualizar el caché de apt, cambiar el servidor reflejado de Debian, instalar yum, etc.

Después de algunas tentativas tuve una iluminación: la modificación de /etc/apt/sources.list habilitando el repositorio predeterminado de Linode, luego, después de una actualización apta (sin solución inmediata), restauré el /etc/apt/sources.list comentando las fuentes de espejo Linode de nuevo. Mágicamente, después de la nueva actualización de apt, el comando ahora está funcionando.

Por esto confirmo: apt install php7.1-bcmath es el comando correcto, pero Debian puede necesitar una patada en el culo