[php] 작곡가 설치 오류-실제로 활성화 된 경우 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

php7.3을 사용하는 사람들을 위해

sudo apt-get install php7.3-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확장 기능을 제공한다는 사실로 로컬 을 확장 할 수 있습니다 (실제로는 그렇지 않습니다-공개적으로 패키지를 게시해서는 안됩니다) 내부적으로 사용하십시오.