작곡가 설치 오류-실제로 활성화 된 경우 ext_curl 필요
Composer와 함께 Facebook PHP SDK를 설치하려고합니다. 이것이 내가 얻는 것입니다
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master].
- facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.
문제는 컬 확장이 활성화되어 있다는 것입니다 (php.ini에서 주석 처리되지 않음). 내가 실행하면 phpinfo()
활성화되었다고 표시됩니다. 내가 가진 단서는 내가 실행할 때 $ php -m
'컬'라인이 누락되었지만 그것에 대해 무엇을 해야할지 모른다는 것입니다.
Win8에 wamp 2.4가 있고 cmd.exe에서 composer를 실행 중입니다.
시스템에 php5-curl 라이브러리가 설치되어 있지 않기 때문에 발생합니다.
우분투에서는 간단하게 아래 라인 코드를 실행하십시오 .Xamp의 경우 Xamp 설명서를 살펴보십시오.
sudo apt-get install php5-curl
php7.0을 사용하는 사람
sudo apt-get install php7.0-curl
php7.1를 사용하는 사람들을 위해
sudo apt-get install php7.1-curl
php7.2를 사용하는 사람들을 위해
sudo apt-get install php7.2-curl
또는 아래 명령을 실행하여 버전별로 설치하십시오.
sudo apt-get install php-curl
이것은 나를 위해 일했다 : http://ubuntuforums.org/showthread.php?t=1519176
명령을 사용하여 작곡가를 설치 한 후 curl -sS https://getcomposer.org/installer | php
바로 실행 sudo apt-get update
한 후 다시 설치 곱슬 sudo apt-get install php5-curl
. 그런 다음 composer의 설치 프로세스가 작동 php composer.phar install
해야 composer.json 파일에 나열된 종속성을 얻을 수 있습니다.
Danack이 의견에서 말했듯이 2 개의 php.ini 파일이 있습니다. 웹 서버에서 사용하는 php.ini 인 Apache 폴더의 curl 확장 줄을 주석 처리하지 않았습니다.
반면, Composer는 완전히 다른 이야기 인 콘솔에 PHP를 사용합니다. 해당 프로그램의 Php.ini 파일은 Apache 폴더의 파일이 아니지만 PHP 폴더에 있으며 행의 주석을 제거해야했습니다. 그런 다음 설치를 다시 실행했는데 문제가 없었습니다.
php7에서 다음을 실행하십시오.
> sudo apt-get install php-curl
> sudo apt-get install php-mbstring
모든 누락 된 확장에 대해 그때:
> sudo apt-get update
그리고 마지막으로 (프로젝트의 루트 폴더에) :
> composer install
Dropbox SDK를 설치하려고 할 때 같은 문제가 발생했습니다.
CURL은 실제로 내 시스템에서 활성화되었지만 wamp \ bin \ apache 폴더의 php.ini가 의미합니다.
wamp \ bin \ php에있는 php.ini를 수동으로 편집하고 extension=php_curl.dll
줄을 주석 해제하고 Wamp를 다시 시작하면 완벽하게 작동했습니다.
왜 그 2 개의 php.ini가 있고 오직 하나만 사용됩니까?
누군가에게 도움이되기를 바랍니다!
PHP5.6으로 업그레이드 한 후이 문제가 발생했습니다. 내 대답은 내가 달리기를 제외하고 Adriano와 매우 유사합니다.
sudo apt-get install php5.6-curl
"5.6"에 주목하십시오. php5-curl을 설치해도 효과가 없었습니다.
https://github.com/composer/composer/issues/2119 에 따르면 composer.json
확장 기능을 제공한다는 사실로 로컬 을 확장 할 수 있습니다 (실제로는 그렇지 않습니다-공개적으로 패키지를 게시해서는 안됩니다) 내부적으로 사용하십시오.
작곡가가 일부 종속성을 설치하려고 할 때 비슷한 문제가 발생했습니다. 내 Wamp 버전과 함께 제공된 .dll은 64 비트 Windows와 충돌한다고 생각합니다.
이 URL은 curl dll을 수정했습니다 : http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
고정 컬 확장 기능 섹션으로 스크롤하십시오.
"php_curl-5.4.3-VC9-x64.zip"을 다운로드했습니다. 방금 zip 파일에 있던 dll로 wamp / bin / php / php5.4.3 / ext 디렉토리 내부의 dll을 덮어 쓰고 composer가 다시 작동했습니다.
I am running 64 bit Windows 8.
Hope this helps.
Enable in php 7 try below command
sudo apt-get install php7.0-curl
I have Archlinux with php 7.2, which has Curl integrated, so no amount of configuration voodoo would make Composer see ext-curl, that PHP could see and work with happily. Work around is to use Composer with --ignore-platform-reqs.
eg composer update --ignore-platform-reqs
Reference = https://github.com/composer/composer/issues/1426
For anyone who encounters this issue on Windows i couldn't find my answer on google at all. I just tried running composer require ext-curl and this worked. Alternatively add the following in your composer.json file:
"require": {
"ext-curl": "^7.3"
}
if use wamp go to:
wamp\bin\php\php.5.x.x\php.ini
find: ;extension=php_curl.dll
remove (;)
In my case I moved from PHP5 to PHP7 and I ve got this error, Simply go to your /bin/php/php7/php.ini , then uncomment extension=php_curl.dll and restart your server, re-run your composer install.
'Programing' 카테고리의 다른 글
값에 관계없이 유형이 항상 특정 크기 인 이유는 무엇입니까? (0) | 2020.06.12 |
---|---|
컨트롤러에서 양식에 액세스 할 수 있습니까? (0) | 2020.06.12 |
jQuery 직렬화 양식을 PHP 직렬화 해제하려면 어떻게해야합니까? (0) | 2020.06.12 |
사전을 사용하여 목록의 항목 수 (0) | 2020.06.12 |
PHP에서 중단과 계속의 차이점은 무엇입니까? (0) | 2020.06.12 |