SW/리눅스

CentOS 7 : PHP Composer 설치, 사용하는 방법, 예제, 명령어

얇은생각 2021. 1. 22. 07:30
반응형

Composer는 PHP(Node.js의 경우 npm 또는 Python의 경우 pip과 유사함)의 종속성 관리자입니다.

Composer는 프로젝트가 의존하는 모든 필수 PHP 패키지를 가져와 관리합니다. 그것은 라라벨, 심포니, 드루팔 그리고 마그넨토 2와 같은 모든 현대 PHP 프레임워크와 플랫폼에 사용됩니다.

 이 튜토리얼에서는 CentOS 7 시스템에 Composer를 설치하고 사용하는 단계를 살펴보겠습니다.

 

 

CentOS 7 : PHP Composer 설치, 사용하는 방법, 예제, 명령어

 

 

필수 조건

이 튜토리얼을 계속하기 전에 다음 필수 구성 요소를 충족했는지 확인하십시오.

- sudo 권한을 가진 사용자로 로그인했습니다.

- CentOS 7에 PHP 7을 설치합니다.

 

 

 

CentOS에 Composer 설치

다음 단계에서는 CentOS 7 시스템에 Composer를 설치하는 방법을 설명합니다. 

01. 먼저 PHP CLI(명령줄 인터페이스) 패키지 및 기타 모든 종속성을 설치합니다.

sudo yum install php-cli php-zip wget unzip

 

 

02. PHP CLI가 설치되면 다음을 포함한 Composer 설치 관리자 스크립트를 다운로드합니다.

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

 

 

위의 명령은 현재 작업 디렉토리에 composer-setup.php 파일을 다운로드합니다.

 

 

03. 스크립트의 데이터 무결성을 확인하려면 SHA-384 해시와 Composer Public Keys/Signatures 페이지에 있는 최신 설치 관리자 해시를 비교합니다.

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

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

 

 

해시가 일치하지 않으면 설치 프로그램이 손상되어 표시됩니다. 이 경우 Composer 설치 스크립트를 다시 다운로드하고 에코 $HASH를 사용하여 $HASH 변수의 값을 다시 확인해야 합니다. 설치 관리자가 확인되면 다음 단계를 계속할 수 있습니다.

 

 

04. 다음 명령을 실행하여 /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.8.5) successfully installed to: /usr/local/bin/composer
# Use it: php /usr/local/bin/composer

 

 

 컴포저는 시스템 전체 명령으로 설치되며 모든 사용자가 사용할 수 있습니다.

 

 

05. 마지막 단계는 설치를 확인하는 것입니다.

composer

 

 

 

위의 명령은 Composer 버전, 명령 및 인수를 인쇄합니다.

# ______
# / ____/___  ____ ___  ____  ____  ________  _____
# / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
# / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
# \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
#                     /_/
# Composer version 1.8.5 2019-04-09 17:46:47
# 
# Usage:
#     command [options] [arguments]

 

 

이 시점에서 CentOS 시스템에 Composer를 성공적으로 설치했습니다.

프로젝트별로 Composer를 설치하려면 다음 명령 phpcomposer-setup을 사용하십시오.php는 composer라는 파일을 생성합니다.현재 작업 디렉토리를 삭제합니다. ./composer를 실행하여 작곡가를 사용할 수 있습니다.par <명령>입니다.

 

 

 

Composer 시작

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

프로젝트 루트 디렉터리가 될 디렉터리를 만들고 composer.json 파일을 보유하는 것부터 시작하십시오. 

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

프로젝트 디렉토리를 생성하고 다음으로 전환합니다.

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

 

 

이 예제에서는 탄소라는 패키지를 사용하여 현재 시간을 인쇄하는 샘플 응용프로그램을 만들 것입니다.

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

composer require nesbot/carbon

# Using version ^2.2 for nesbot/carbon
# ./composer.json has been created
# Loading composer repositories with package information
# Updating dependencies (including require-dev)
# Package operations: 3 installs, 0 updates, 0 removals
#   - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
#   - Installing symfony/translation (v4.1.4): Downloading (100%)
#   - Installing nesbot/carbon (2.2.0): Downloading (100%)
# 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

 

 

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

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

ls -l

# -rw-r--r-- 1 linuxize users   60 Aug 29 00:50 composer.json
# -rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
# drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 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 태그가 열린 후 첫 번째 줄에 공급업체/autload가 포함됩니다.모든 라이브러리를 자동으로 로드하는 Composer에서 자동으로 생성된 php 파일입니다.

다음으로 Carbon/Carbon는 별칭을 붙이고 마지막 줄에 Carbon 방법을 사용하여 현재 시간을 인쇄합니다.

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

php testing.php

 

 

출력은 다음과 같아야 합니다.

Now: 2018-09-26 20:08:18

 

 

나중에 PHP 패키지를 업데이트하려면 다음을 간단히 실행할 수 있습니다.

composer update

 

 

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

반응형