SW/리눅스

Debian 9 : PHP Composer 설정, 사용하는 방법, 예제, 명령어

얇은생각 2021. 2. 11. 07:30
반응형

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

Debian 9 시스템에 Composer를 설치하는 데 필요한 단계를 제공합니다. 또한 Composer를 사용하여 PHP 프로젝트를 생성하고 관리하는 방법에 대해서도 다룰 것입니다.

 

 

Debian 9 : PHP Composer 설정, 사용하는 방법, 예제, 명령어

 

 

전제조건

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

 

 

 

Composer 설치

Debian 시스템에 Composer를 설치하려면 다음 단계를 따르십시오. 

먼저 패키지 인덱스를 업데이트하고 다음 명령을 사용하여 필요한 패키지를 설치하십시오.

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

 

 

종속성이 설치되면 php cli tall을 사용하여 Composer 설치 스크립트를 다운로드합니다.

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

 

 

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

스크립트 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 변수의 값을 다시 확인해야 합니다. 설치 관리자가 확인되면 다음 단계를 계속할 수 있습니다.

 

다음 명령은 /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

 

 

이제 Debian 시스템에 Composer가 설치되어 있습니다. 시스템 전체 명령으로 설치되며 모든 사용자가 사용할 수 있습니다.

설치를 확인하려면 다음을 입력하십시오.

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

composer

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

 

 

 

Composer 시작

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

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

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

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

 

 

다음으로 composer require<package name> 명령을 사용하여 새 composer.json 파일을 초기화하고 다운로드할 패키지를 지정합니다. 이 예에서는 탄소라는 패키지를 사용하여 현재 시간을 인쇄하는 샘플 응용프로그램을 만들 것입니다.

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

composer require nesbot/carbon

# Using version ^1.34 for nesbot/carbon
# ./composer.json has been created
# Loading composer repositories with package information
# Updating dependencies (including require-dev)
#   - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
#   - Installing symfony/translation (v3.4.17): Downloading (100%)         
#   - Installing nesbot/carbon (1.34.0): 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

 

 

Composer는 Composer.json 파일을 생성하고 카본과 그 모든 종속성을 다운로드하고 설치합니다.

프로젝트의 디렉토리를 ls 명령으로 나열하면 두 개의 파일 작성기가 포함된 것을 볼 수 있습니다.

프로젝트의 디렉터리를 ls 명령으로 나열하면 두 개의 파일 composer.json 및 composer.lock과 하나의 벤더 디렉토리가 포함된 것을 볼 수 있습니다.

ls -l

# -rw-r--r-- 1 linuxize users   60 Oct 16 21:02 composer.json
# -rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
# drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 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-10-16 21:08:45

 

 

 

나중에 프로젝트 패키지를 업데이트해야 하는 경우 다음을 입력하십시오.

composer update

 

 

 

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

반응형