IT TIP

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

itqueen 2020. 11. 1. 19:05
반응형

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폴더를. 작곡가가 필요하지 않다고 약속합니다. 직접 시도했습니다. 필요한 모든 폴더를 찾아서 생성하고 다운로드를 위해 압축합니다. 완벽하게 작동합니다!


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


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

composer와 마찬가지로 composer.json 파일을로드 할 수 있습니다. 이렇게하면 composer없이 composer.json 파일을로드 할 수 있습니다 (이론적으로 PHP 5.2이면 충분합니다).

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


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

  • PHP가 로컬에 설치되어 있는지 확인하십시오.
  • 데스크탑에 디렉토리를 만드십시오.
  • https://getcomposer.org/download/ ( * Manual Download 헤더 아래) 에서 composer.phar를 다운로드 하여 디렉토리에 배치합니다.
  • make a file composer.json paste in it the following contents

     {
         "require": {
             "coinbase/coinbase": "~2.0"
         }
     }
    
  • Browse to the directory with the shell of your choice(bash, git-bash, cmd, windows bash)

  • type php composer.phar update screenshot of bash output
  • Upload the vendor directory to your webserver via ftp or whatever mechanic you use.
  • include in your php project where you load your libraries(modify path to where you uploaded the vendor dir so it will include that autoload file)

    require_once('vendor/autoload.php');
    

This way you get the benefit of dependency management and you don't have to include manually all the gazillion of files and download all the dependencies manually, and updating them is just as easy as typing php composer.phar update and then replacing the vendor dir on your server with the new one.

참고URL : https://stackoverflow.com/questions/40545795/how-do-i-install-composer-php-packages-without-composer

반응형