CentOS 7 서버에 여러 버전의 PHP(5.6 및 7.2)가 설치되어 있습니다.
인터넷 검색 CentOS 7 Composer 설치에는 다음 단계에 따라 다른 블로그 바로 아래에 동일한 가이드가 있는 것 같습니다.
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ chmod +x /usr/local/bin/composer
$ composer -V
Composer version 1.5.2 2017-09-11 16:59:25
그러나 이는 즉시 오류를 발생시킵니다. 그래서 이 명령을 변경했습니다.
$ curl -sS https://getcomposer.org/installer | php
도착하다:
$ curl -sS https://getcomposer.org/installer | php72
이제 파일이 다운로드되었지만 작곡가 -V(다른 단계 이후)를 사용하려고 하면 다음 오류가 발생합니다.
/usr/bin/env: php: 해당 파일이나 디렉터리가 없습니다.
/usr/local/bin/composer
그래서 맨 위에 있는 줄을 보고 싶습니다 .
#!/usr/bin/env php
나는 그것을 다음과 같이 바꿨다.
#!/usr/bin/env php72
그러나 composer -V
현재의 관행은 다음과 같습니다.
PHP Fatal error: Uncaught PharException: phar "/usr/local/bin/composer" has a broken signature in /usr/local/bin/composer:23
Stack trace:
#0 /usr/local/bin/composer(23): Phar::mapPhar('composer.phar')
#1 {main}
thrown in /usr/local/bin/composer on line 23
나는 동일한 결과로 php56을 사용해 보았습니다.
여러 PHP 버전을 실행하는 CentOS 7 서버에 Composer를 올바르게 설치하는 방법은 무엇입니까?
참고 사항: 이것이 슈퍼유저에게 더 좋은지 알려주세요.
답변1
그것은 모두 사용하려는 PHP 버전에 따라 다릅니다. php56을 사용하여 Composer를 설치하려고 할 때 발생하는 오류를 보여줄 수 있습니까?
어쨌든, "php"는 실제 PHP 바이너리에 대한 심볼릭 링크일 뿐입니다. 귀하의 경우에는 PHP 56을 가리키는 것 같습니다. 심볼릭 링크에서 ls -l을 수행하고 다음을 입력하여 찾을 수 있습니다.
whereis php
따라서 전체 체인을 php72로 만들고 싶다면 심볼릭 링크를 php72 바이너리를 가리키는 새 심볼릭 링크로 바꾸세요. 아니면 별칭을 사용할 수도 있습니다.
alias php="/path/to/php72"
답변2
내 전반적인 솔루션은 다음을 수행하는 것입니다.
- 다음 위치에 별칭을 만듭니다
~/.bashrc
.alias php="php72"
- 그런 다음 위의 단계에 따라 수정 없이 작곡가를 설치하십시오.
- 그런 다음 돌아가서
~/.bashrc
새 별칭을 추가합니다.alias composer_72="php /usr/local/bin/composer"
지금은 작곡가들이 일하고 있어요PHP7.2