"요청한 PHP 확장자 bcmath가 시스템에 없습니다."
개발자 여러분께 인사드립니다.
최근 부팅한 개발 서버에서 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.
나는 그것이 작곡가 필요 명령을 실행할 때 내가 올바르게 수신하는 PHP 경고와 관련이 있다고 생각하지만 구글 검색 결과가 나를 올바른 방향으로 인도하지 않습니다.
또한 /etc/php/7.0/cli/php.ini 파일에 오류가 발생할 경우 해당 파일을 제공하였습니다.
https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (게시물의 문자 제한으로 인해 이 게시물에 파일을 포함하지 못했습니다.)
get_loaded_extensions 함수를 사용하여 다음을 확인할 수 있습니다.bcmath
모듈이 로드되었습니다. 터미널 또는터에서에서.php -m
또는php -m | grep name_of_the_modul
사용 중인 OS에 따라 설치할 수 있습니다.
우분투
sudo apt install php7.0-bcmath
센토스
yum install bcmath
PHP 7.2
데비안 - 제시
apt-get update apt-get install php7.2-bcmath
매력적으로 작동합니다 :)
php Centos의 모든 버전에 대해 사용합니다.
이 솔루션은 저에게 효과가 있었습니다.
yum 설치 php-bcmath
PHP는 기계에 설치된 기본 버전을 사용하여 해당 패키지를 검색하고 설치합니다.
composer.lock 파일이 이미 생성된 경우 해당 파일을 삭제하고 다시 실행합니다.
작곡가 설치
실행하는 경우
작곡가 업데이트
composer.json에 설치된 기본 패키지는 모두 업데이트되므로 문제가 발생할 수 있습니다.
Ubuntu 20.04에서
7 php 7.4.3은 7.sudo apt install php7.4-bcmath
PHP 7.1의 경우 다음과 같은 기능이 있었습니다.
sudo apt install php7.1-bcmath
도커를 사용하는 경우:
- bcmath는 컨테이너 내부에서 다음 명령을 실행하여 설치할 수 있습니다.
docker-php-ext-install bcmath
합니다: 로유버 php php 인확:php --version
다음과 같은 것을 보게 될 것입니다.
PHP 7.2.9-1+ubuntu16.04.1 ....
그리고나서sudo apt install phpX.X-bcmath
서 X이므로 이 ^ 기서 X가 .X는 php 버전이므로, 이 예에서는 다음과 같습니다.sudo apt install php7.2-bcmath
후 합니다.php -m | grep bcmath
php 7.2 만약 당신이 다른 버전을 가지고 있다면 그에 따라 그것을 변경하세요.
위해서CentOS
sudo yum install php72-bcmath
위해서Ubuntu
sudo apt install php7.0-bcmath
이 명령을 실행합니다. 작동하기를 바랍니다.
sudo apt-get install php-bcmath
이것이 문제를 해결하기를 바랍니다.
sudoapt 설치 php-bcmath
이 문제를 해결하려면 sudo apt 설치 php-bcmath를 사용해야 합니다.
여기 이상한 것이 있습니다.
몇 달 전에 저는 모든 PHP 버전을 동일한 방식으로 설치했습니다.여기에 동일하게 구성된 4가지 버전의 php가 있습니다: 5.6, 7.0, 7.1, 7.2, 동일한 확장자를 가지고 있습니다(가능한 경우).
이상한 것은 7.1을 제외한 모든 php 버전에 대해 bmath가 존재한다는 것입니다.
솔루션 검색에서 논리의 내용이 bcmath를 설치하는 것이 확인된 이 질문에 도착했지만, 내 리노드 데비안 9 서버에서는 apt install php7.1-bcmath 명령이 작동하지 않고 3개의 오류 메시지가 표시됩니다.
- E: php7.1-bcmath 패키지를 찾을 수 없습니다.
- E: 글로벌 "php7.1-bcmath"가 포함된 일부 패키지를 찾을 수 없습니다.
- E: 정규식 "php7.1-bcmath"의 패키지를 찾을 수 없습니다.
팁과 속임수의 조합으로 충족되지 않는 목표, 적절한 캐시 새로 고침, 데비안의 미러링된 서버 변경, yum 설치 등...
몇 가지 잠정적인 조치가 있은 후에 나는 조명을 받았습니다: 기본 리노드 저장소를 활성화하는 /etc/apt/sources.list를 수정한 다음 적절한 업데이트(즉시 솔루션이 없음) 후에 리노드 미러 소스를 설명하는 /etc/apt/sources.list를 복원했습니다.신기하게도 새로운 apt 업데이트 후 명령어가 작동합니다.
이것으로 확인합니다. apt install php7.1-bcmath가 올바른 명령이지만, 당신의 데비안은 엉덩이를 걷어차야 할 수 있습니다.
이 명령을 사용하여 설치하십시오. 이 명령은 사용할 수 있습니다.
apt-get install php-bcmath
아래 패키지를 시도해 봤는데 PHP 버전 5.6에서 작동했습니다.
yum install php56w-bcmath
이미 bc-math를 설치하려고 시도했지만 여전히 작곡가는 오류를 내고 있습니다.
이 명령어 사용
rm composer.lock
틀림없이 효과가 있을 것입니다.
언급URL : https://stackoverflow.com/questions/45049601/the-requested-php-extension-bcmath-is-missing-from-your-system
'programing' 카테고리의 다른 글
Powershell에는 Aggregate/Reduce 기능이 있습니까? (0) | 2023.07.25 |
---|---|
MySQL - 하위 행을 추가하거나 업데이트할 수 없습니다. (0) | 2023.07.25 |
ORA-01031: 패키지 생성 시 권한 부족 (0) | 2023.07.25 |
파이썬에서 유니코드를 문자열로 선언하는 이유는 무엇입니까? (0) | 2023.07.25 |
루프에 대한 JavaScript ES6 약속 (0) | 2023.07.25 |