SW/리눅스

Linux : CentOS 8 : PHP Composer 설치, 사용 방법, 예제, 명령어

얇은생각 2022. 8. 8. 07:30
반응형

Composer는 PHP의 종속성 관리자입니다(npm이 Node.js에 대한 종속성 또는 pip이 Python에 대한 종속성).

Composer는 프로젝트가 의존하는 모든 필수 PHP 패키지를 가져와 관리합니다. Laravel, Symfony, Drupal 및 Magento 2와 같은 모든 현대 PHP 프레임워크 및 플랫폼에서 사용됩니다.

이 튜토리얼은 CentOS 8에 Composer를 설치하는 단계를 거칩니다. 급하게 파일 무결성을 확인하지 않으려면 Composer 설치 - 빠른 방법 섹션으로 스크롤을 내립니다.

 

 

Linux : CentOS 8 : PHP Composer 설치, 사용 방법, 예제, 명령어

 

 

필수 구성 요소

계속하기 전에 다음 요구 사항을 충족했는지 확인하십시오.

sudo 권한이 있는 사용자로 로그인했습니다.

CentOS 8 시스템에 PHP를 설치합니다.

 

 

 

CentOS에 Composer를 설치

다음 단계를 수행하여 CentOS 8에 Composer를 설치합니다.

다음을 사용하여 PHP CLI(명령줄 인터페이스) 패키지 및 기타 모든 종속 요소를 설치합니다.

sudo dnf install php-cli php-json php-zip wget unzip

 

 

PHP CLI가 설치되면 Composer 설치 관리자 스크립트를 다운로드합니다.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

 

 

위의 명령은 composer-setup이라는 파일을 다운로드합니다.현재 작업 디렉터리에 php가 있습니다.

파일의 SHA-384 해시를 Composer 공용 키/서명 페이지에 있는 해시와 비교하여 데이터 무결성을 확인합니다.

다음 wget 명령은 Composer의 Github 페이지에서 최신 Composer 설치 프로그램의 서명을 다운로드하여 HASH라는 변수에 저장합니다.

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

 

 

설치 스크립트가 손상되지 않았는지 확인하려면 다음 명령을 실행합니다.

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

# Installer verified

 

 

해시가 일치하면 다음 메시지가 표시됩니다.

설치 프로그램이 Copy를 확인했습니다.

그렇지 않으면 해시가 일치하지 않으면 설치 프로그램이 손상됩니다. 무결성이 확인되면 다음 단계를 계속합니다.

다음 명령을 실행하여 /usr/local/bin 디렉토리에 Composer를 설치합니다.

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

# All settings correct for using Composer
# Downloading...
# 
# Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
# Use it: php /usr/local/bin/composer

 

 

 

 

위의 명령은 Composer를 시스템 전체 명령으로 설치하고 모든 사용자가 사용할 수 있습니다. 출력은 다음과 같습니다.

위의 명령은 Composer를 시스템 전체 명령으로 설치하고 모든 사용자가 사용할 수 있습니다.

Composer 버전을 인쇄하여 설치를 확인합니다.

composer -V

# Composer version 1.10.1 2020-03-13 20:34:27

 

 

이제 CentOS 시스템에 Composer를 사용하시면 됩니다.

 

 

 

Composer [Quick Way]를 설치

다음 단계를 수행하여 CentOS 8 시스템에 Composer를 빠르게 설치합니다.

PHP CLI 및 Zip을 설치합니다.

sudo dnf install php-cli php-json php-zip curl unzip

 

 

컬이 있는 Composer를 다운로드하십시오.

curl -sS https://getcomposer.org/installer |php

 

 

Composer 파일을 /usr/local/bin 디렉토리로 이동합니다.

sudo mv composer.phar /usr/local/bin/composer

 

 

 

Composer를 시작

이제 Composer가 CentOS 시스템에서 Composer를 PHP 프로젝트에서 사용하는 방법을 보여드리겠습니다.

프로젝트 루트 디렉터리를 만든 다음 해당 디렉터리로 이동하십시오.

mkdir ~/my-first-composer-project
cd ~/my-first-composer-project

 

 

이 예에서는 카본이라는 PHP 패키지를 사용하여 현재 시간을 인쇄하는 샘플 애플리케이션을 만들 것입니다.

다음 명령을 실행하여 새 Composer 프로젝트를 초기화하고 Carbon 패키지를 설치합니다.

composer require nesbot/carbon

# sing version ^2.32 for nesbot/carbon
# ./composer.json has been created
# Loading composer repositories with package information
# Updating dependencies (including require-dev)
# Package operations: 4 installs, 0 updates, 0 removals
#   - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
#   - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
#   - Installing symfony/translation (v5.0.6): Downloading (100%)         
#   - Installing nesbot/carbon (2.32.1): Downloading (100%)         
# symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
# symfony/translation suggests installing symfony/config
# symfony/translation suggests installing symfony/yaml
# symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
# Writing lock file
# Generating autoload files
# 3 packages you are using are looking for funding.
# Use the `composer fund` command to find out more!

 

 

위의 출력에서 볼 수 있듯이 Composer는 composer.json이라는 파일을 생성하고 카본과 모든 종속성을 다운로드합니다.

프로젝트의 디렉터리를 나열하면 composer.json 및 composer.lock 파일 두 개와 공급업체 디렉터리를 볼 수 있습니다.

ls -l

# -rw-rw-r--. 1 vagrant vagrant    60 Mar 27 18:05 composer.json
# -rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
# drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 vendor

 

 

vendor는 프로젝트 종속성이 저장되는 디렉터리입니다.

Composer.lock 파일에는 버전을 포함하여 설치된 모든 패키지의 목록이 포함되어 있습니다.

composer.json은 PHP 종속성 및 기타 메타데이터를 포함하여 PHP 프로젝트를 설명하는 파일입니다.

 

Composer 리포지토리 Packagist에서 PHP 패키지를 검색할 수 있습니다.

Composer에는 PHP 클래스를 요구 사항 없이 사용하거나 문을 포함할 필요 없이 사용할 수 있는 자동 로드 기능이 있습니다.

testing.php라는 파일을 만들고 다음 코드를 추가합니다.

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

 

 

코드를 한 줄씩 분석해보겠습니다.

오픈 php 태그 뒤의 첫 번째 줄에는 벤더/자동 로드가 포함됩니다.모든 라이브러리를 자동으로 로드하는 php 파일입니다.

다음으로 탄소\탄소를 카본으로 앨리어싱하고 있습니다. 마지막 줄은 지금 탄소 방법을 사용하여 현재 시간을 인쇄합니다.

다음을 입력하여 스크립트를 실행합니다.

php testing.php

# Now: 2020-03-27 22:12:26

 

 

나중에 PHP 패키지를 업데이트하려면 다음을 실행하면 됩니다.

composer update

 

 

위의 명령은 설치된 패키지의 최신 버전을 확인하고 최신 버전이 발견되고 버전 제약 조건이 Composer.json에 지정된 버전과 일치하면 Composer가 패키지를 업데이트합니다.

CentOS 8 머신에 Composer를 설치하는 방법을 배웠습니다. 또한 Composer를 사용하여 기본 PHP 프로젝트를 만드는 방법을 보여드렸습니다.

 Composer에 대한 자세한 내용은 Composer 공식 설명서 페이지를 참조하십시오.

 

 

 

참조

https://linuxize.com/post/how-to-install-and-use-composer-on-centos-8/

반응형