[php] Composer없이 Composer PHP 패키지를 설치하려면 어떻게해야합니까?

Coinbase PHP API를 설치하려고하는데 Composer가 필요합니다.

https://github.com/coinbase/coinbase-php

Composer를 사용하지 않고도 서버에 직접 composer 패키지를 설치할 수있는 범용 PHP 솔루션 (아마도 함수)을 찾고 있습니다.

Composer 개발자들은 그들이 사람들을 돕고 있다고 생각하지만 실제로는 ‘Composer 장벽’으로 인해 웹 개발을 배우지 못하는 초보 개발자가 수천 명 있습니다.

Composer없이 설치할 수있는 유연한 솔루션이나 접근 방식이 있다면 정말 도움이 될까요? 어떻게 할 수 있습니까?

비꼬는 말로 응답하지 마십시오 . Composer를 사용하고 싶지 않은 사람들이 있고 웹 개발을 위해 특정 타사 소프트웨어에 묶여 있어야하는 이유를 모르겠습니다.



답변

composer.json파일 종속성을 보여줍니다. 귀하의 예에서 :

"require": {
    "php": ">=5.5.0",
    "guzzlehttp/guzzle": "^6.0",
    "psr/http-message": "^1.0",
    "psr/log": "^1.0"
},

그런 다음 packagist 사이트 에서 해당 패키지를 찾아야합니다 . 각 종속성에 대해 동일한 프로세스를 반복 composer.json하십시오. 해당 파일 에서 추가 종속성을 찾고 다시 검색하십시오.

마지막으로 필요한 패키지의 전체 목록을 얻었을 때 모두 하나씩 설치하기 만하면됩니다. 대부분의 경우 프로젝트 디렉토리 어딘가에 파일을 놓기 만하면됩니다. 그러나 PHP가 필요한 클래스를 찾을 수 있는지도 확인해야합니다. Composer의 자동 로더를 사용하지 않기 때문에 사용자 정의 자동 로더에 추가해야합니다. 각 composer.json파일 에서 정보를 파악할 수 있습니다 . 예 :

"autoload": {
    "psr-4": { "Coinbase\\Wallet\\": "src/" }
},

클래스 자동 로더를 사용하지 않는 경우 개별 require_once명령문 을 파악해야 합니다. 대부분의 라이브러리 작성자는 문서화에 관심이 없기 때문에 많은 시행 착오가 필요할 것입니다.

또한 이것에 대해 혼란이있을 경우를 대비하여 :

  • Composer에는 Windows 용 공식 GUI 설치 프로그램과 모든 플랫폼에 대한 복사 및 붙여 넣기 명령 줄 설치 절차가 있습니다.
  • Composer는 로컬에서 실행될 수 있으며 출력은 다른 곳에 업로드됩니다. 공유 호스팅에는 SSH가 필요하지 않습니다.
  • 라이브러리를 설치하는 데 필요한 명령은 패키지 웹 사이트에서 복사하여 붙여 넣을 수 있습니다. 패키지 관리자가 문서화하는 데 관심이 없더라도 packagist.org에서 기본적으로 생성합니다.

Composer는 완벽하지 않고 모든 사용 사례에 적합하지는 않지만, 이에 의존하는 라이브러리를 설치할 때 의심 할 여지없이 최상의 대안이며 상당히 괜찮은 대안입니다.


내 뒤에 오는 다른 답변을 확인했습니다. 주로 두 가지 범주로 나뉩니다.

  1. 라이브러리를 설치하고이를 사용하여 사용자 지정 다운로드 스크립트 작성
  2. Composer 용 온라인 웹 기반 인터페이스 사용

내가 뭔가를 놓치고 있지 않는 한, 그들 중 누구도 OP가 표현한 불만을 해결하지 않습니다.

  • 학습 곡선
  • 타사 소프트웨어 사용
  • 서버에서 바로 개발할 수있는 가능성 (SSH를 사용하는 것 같습니다)
  • 잠재적으로 깊은 종속성 트리

답변

당신이 시도 할 수 https://php-download.com/ 당신과 함께 대부분의 시간을 모든 의존성을 다운로드 할 수 있도록 할 수있는 vendor폴더를. 작곡가가 필요하지 않다고 약속합니다. 직접 시도했습니다. 필요한 모든 폴더를 찾아서 생성하고 다운로드를 위해 압축합니다. 완벽하게 작동합니다!


답변

웹 사이트에 공유 호스팅을 사용하고 있는데 거기에서 명령을 실행할 수 없습니다. 브라우저를 통해 요청하는 php 스크립트 요청을 통해 composer를 실행하는 것 외에도 일반적으로 다음 워크 플로를 사용합니다.

  • PHP가 로컬에 설치되어 있는지 확인하십시오.
  • 데스크탑에 디렉토리를 만드십시오.
  • https://getcomposer.org/download/(*Manual Download 헤더 아래) 에서 composer.phar를 다운로드 하여 디렉토리에 배치합니다.
  • composer.json 파일을 다음 내용으로 붙여 넣으십시오.

     {
         "require": {
             "coinbase/coinbase": "~2.0"
         }
     }
  • 선택한 쉘 (bash, git-bash, cmd, windows bash)이있는 디렉토리를 찾습니다.

  • 유형 php composer.phar update bash 출력 스크린 샷
  • ftp 또는 사용하는 메커니즘을 통해 공급 업체 디렉토리를 웹 서버에 업로드합니다.
  • 라이브러리를로드하는 PHP 프로젝트에 포함 (공급 업체 디렉토리를 업로드 한 경로를 수정하여 해당 자동로드 파일을 포함)

    require_once('vendor/autoload.php');

이렇게하면 종속성 관리의 이점을 얻을 수 있고 수많은 파일을 수동으로 포함하고 모든 종속성을 수동으로 다운로드 할 필요가 없습니다. 업데이트는 php composer.phar update서버의 공급 업체 디렉토리를 입력 한 다음 새로운.


답변

SSH 액세스 권한이없는 FTP 서버에 대해이 작업을 수행해야했습니다. 여기에 나열된 사이트가 작동하고 나서 자신의 서버에 작곡가 설치를 수행 한 다음 (대상의 PHP 버전을 사용하여) 모든 파일을 복사 할 수 있다는 것을 깨달았습니다.


답변

이것은 궁극적 인 해결책은 아니지만 대부분의 경우에 큰 도움이되었습니다 :
https://github.com/Wilkins/composer-file-loader

composer가하는 것처럼 composer.json 파일을로드 할 수 있습니다. 이렇게하면 composer없이 composer.json 파일을로드 할 수 있습니다 (이론적으로 PHP 5.2이면 충분합니다).

나는 질문이 오래되었다는 것을 알고 있지만 누군가에게 도움이되기를 바랍니다.


답변

나를 위해 일했던 대체 솔루션 (php-download가 다운 된 이후)은 자신의 작은 로컬 작곡가 다운로더를 만들어서 수행 할 수 있습니다.

  1. XAMPP를 로컬로 다운로드하여 설치 하십시오 : https://www.apachefriends.org/index.html
  2. Composer를 로컬로 다운로드하여 설치 하십시오 : https://getcomposer.org/download/
  3. 명령 c:\temp프롬프트 를 열고 말로 이동 한 다음 작성기 종속성을 입력하기 만하면됩니다. 예를 들면 다음과 같습니다.composer require league/oauth2-client
  4. c:\tempFTP 프로그램을 사용하여 폴더에서 웹 호스트로 파일 복사
  5. 이것을 PHP 상단에 추가하십시오. require("vendor/autoload.php");

답변