SW/리눅스

Ubuntu 18.04 : PHP Composer 설치 및 사용하는 방법, 예제, 명령어

얇은생각 2020. 12. 25. 07:30
반응형

Composer PHP(Node.js의 경우 npm 또는 Python의 경우 pip과 유사)의 종속성 관리자입니다. Composer는 프로젝트에 종속된 모든 필수 PHP 패키지를 가져와 관리합니다.

이 튜토리얼에서는 Ubuntu 18.04 Composer를 설치하고 사용하는 방법을 보여드리겠습니다. Ubuntu 16.04에도 동일한 단계를 사용할 수 있습니다.

 

Ubuntu 18.04 : PHP 설치 및 사용하는 방법, 예제, 명령어

 

필수 구성 요소

이 튜토리얼을 계속하기 전에 sudo 권한을 가진 사용자로 로그인하고 Ubuntu 18.04 시스템에 PHP가 설치되어 있는지 확인합니다.

 

 

 

PHP Composer 설치

긴급한 경우 파일 무결성을 확인하지 않으려는 경우 Composer 설치 - 빠른 길 섹션으로 스크롤합니다.

Ubuntu 시스템에 Composer를 설치하려면 다음 단계를 수행합니다. 

01. Composer를 다운로드 및 설치하기 전에 먼저 패키지 인덱스를 업데이트하고 필요한 요구 사항을 설치합니다.

sudo apt update
sudo apt install wget php-cli php-zip 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라는 변수에 저장합니다.

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

 

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

 

 

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

composer

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

 

 

 

Composer [Quick Way] 설치

다음 명령을 사용하여 Ubuntu 시스템에 Composer를 신속하게 설치할 수 있습니다. 

01. PHP CLI Zip을 설치합니다.

sudo apt update && sudo apt install wget php-cli php-zip unzip curl

 

 

02. curl Composer를 다운로드합니다.

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

 

 

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

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

 

 

 

Composer 시작

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

첫 번째 단계는 프로젝트 루트 디렉터리가 될 디렉터리를 만들고 composer.json 파일을 보관하는 것입니다. 이 파일은 PHP 종속성 및 기타 메타데이터를 포함한 PHP 프로젝트에 대해 설명합니다.

프로젝트 디렉터리를 만들고 다음을 사용하여 해당 디렉터리로 전환합니다.

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

 

 

다음 단계는 composer를 사용하여 새 composer.json을 초기화하려면 <package name> 명령이 필요하며 다운로드할 패키지를 지정해야 합니다.

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

다음 명령을 실행하여 새 composer.json을 초기화하고 탄소 패키지를 설치합니다.

composer require nesbot/carbon

# Using version ^1.33 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 (1.33.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.json 파일은 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 저장소 팩agist에서 PHP 패키지를 검색할 수 있습니다.

Composer는 파일을 요구하거나 포함하지 않고도 PHP 클래스를 사용할 수 있는 자동 로드 기능을 제공합니다.

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

<?php

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

use Carbon\Carbon;

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

 

 

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

첫 번째 줄에는 vendor/autoload.php가 포함됩니다.모든 라이브러리를 자동으로 로드하는 Composer에 의해 자동으로 생성된 php 파일입니다. 

다음으로 Carbon\Carbon Carbon으로 앨리어싱하고 마지막 줄에는 Carbon now 메소드를 사용하여 현재 시간을 출력합니다. 

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

php testing.php

 

 

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

Now: 2018-08-28 23:47:19

 

 

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

composer update

 

 

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

반응형