Coe*_*lho 36 php configuration ini web composer-php
问候开发者,
我试图在我最近启动的开发服务器上使用composer作为我的PHP项目,由于某种原因我无法做到.我成功安装了composer,但是,当我尝试运行require命令时,我收到以下错误:
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.
Run Code Online (Sandbox Code Playgroud)
我假设它与我在运行composer require命令时收到的PHP警告有关,但没有谷歌搜索结果引导我到正确的方向.
另外,我提供了我的/etc/php/7.0/cli/php.ini文件,因为该文件中存在错误.
https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (由于帖子的字符限制,我无法在此帖子中包含该文件.)
谢谢.
JTC*_*JTC 55
您可以使用函数get_loaded_extensions来查看bcmath模块是否已加载.或者在终端php -m或php -m | grep name_of_the_modul
您可以根据您使用的操作系统进行安装:
Ubuntu的
sudo apt install php7.0-bcmath
CentOS的
yum install bcmath
che*_*aby 19
Run Code Online (Sandbox Code Playgroud)apt-get update apt-get install php7.2-bcmath
工作就像一个魅力:)
对于php Centos中的任何版本,请使用
这个解决方案对我有用
百胜安装php-bcmath
PHP将采用计算机中安装的默认版本,搜索该软件包并安装。
删除文件composer.lock文件(如果已创建),然后再次运行,
作曲家安装
如果你跑
作曲家更新
它将更新composer.json中安装的任何默认软件包,这可能会对您造成问题。
小智 7
按类型检查你的php版本: php --version
你会看到这样的东西:
PHP 7.2.9-1+ubuntu16.04.1 ....
Run Code Online (Sandbox Code Playgroud)
那么sudo apt install phpX.X-bcmath XX是php版本,所以对于这个^例子它将是 sudo apt install php7.2-bcmath
在此之后检查模块是否存在类型 php -m | grep bcmath
PHP 7.2,如果您有其他版本,请相应地进行更改
对于 CentOS
sudo yum install php72-bcmath
Run Code Online (Sandbox Code Playgroud)
对于 Ubuntu
sudo apt install php7.0-bcmath
Run Code Online (Sandbox Code Playgroud)