Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP | "The requested PHP extension bcmath is missing from your system."

Greetings fellow developers,

I am trying to use composer for a PHP project of mine on a development server I recently booted up and for some reason I am unable to. I successfully installed composer, however, when I try to run the require command I get the following 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. 

I'm assuming it's something to do with the PHP warning I recieve right when running the composer require command but no google search results lead me to the correct direction.

Additionally, I have provided my /etc/php/7.0/cli/php.ini file incase of an error in that file.

https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (I couldn't include the file in this post due to the character limit on posts.)

Thank you.

like image 866
Coelho Avatar asked Jul 12 '17 06:07

Coelho


People also ask

How do I run PHP and HTML together?

When it comes to integrating PHP code with HTML content, you need to enclose the PHP code with the PHP start tag <? php and the PHP end tag ?> . The code wrapped between these two tags is considered to be PHP code, and thus it'll be executed on the server side before the requested file is sent to the client browser.

What is PHP in W3Schools?

PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used, free, and efficient alternative to competitors such as Microsoft's ASP. Start learning PHP now »

How do I download PHP version?

Follow the below steps to install PHP on Windows: Step 1: Visit https://www.php.net/ website using any web browser and click on Downloads. Step 2: Click on the Windows “Downloads” button. Step 3: The new webpage has different options, choose the Thread safe version, and click on the zip button and Download it.


2 Answers

You can use function get_loaded_extensions to see if bcmath modul is loaded. Or in terminal php -m or php -m | grep name_of_the_modul

You can install it depending on what OS you are using:

Ubuntu

sudo apt install php7.0-bcmath

CentOS

yum install bcmath

like image 184
JTC Avatar answered Sep 20 '22 19:09

JTC


PHP 7.2

Debian - jessie

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

work like a charm :)

like image 26
chebaby Avatar answered Sep 22 '22 19:09

chebaby