- ASP.Net Core 404
- 강제이동
- 하드 마이그레이션
- ViewBag
- 말줄임표시
- javascript 바코드스캔
- XSS PHP
- ViewData
- django 엑셀불러오기
- php 캐쉬제거
- jquery 바코드생성
- asp.net Select
- javascript redirection
- javascript 유효성체크
- 파일업로드 체크
- TempData
- 타임피커
- javascript 바코드 생성
- 바코드 스캔하기
- SSD 복사
- 404에러페이지
- XSS방어
- 바코드 생성하기
- Mac Oracle
- 파일업로드 유효성체크
- asp.net core Select
- asp.net dropdownlist
- 하드 윈도우 복사
- jquery 바코드
- 맥 오라클설치
웹개발자의 기지개
[PHP] Ubuntu, Composer 설치하기 본문
[필자의 서버 환경]
Ubuntu 20.4.6
nginx 1.18
PHP 7.4
MaridDB
PHP 관련 라이브러리를 호환성 충돌없이 원활하게 잘 설치하게 도와주는 Composer 을 설치해보았다.
궁극적인 목적은 Stripte 를 이용하기 위함이었는데, 이를 안정적으로 서버 상에 설치하기 위해 composer 가 필요하였다.
https://dashboard.stripe.com/test/dashboard
1. ubuntu 시스템 업데이트
sudo apt update
2. 필수 패키지 설치
sudo apt install php-cli unzip php-curl php-mbstring
꼭 php-curl php-mbstring 도 설치하도록 하자.
그렇지 않으면 다음과 같이 composer init 할때 정상적으로 셋팅이 되지 않는다.
----------------------------------------------------------------------------------------------------------------
Package stripe/stripe-php has requirements incompatible with your PHP version, PHP extensions and Composer version:
- stripe/stripe-php v16.4.0 requires ext-curl * but it is not present.
- stripe/stripe-php v16.4.0 requires ext-mbstring * but it is not present.
----------------------------------------------------------------------------------------------------------------
3. 설치 파일 다운로드
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
해시 확인
HASH=`curl -sS https://composer.github.io/installer.sig`
안전하게 설치할 수 있는지 확인한다.
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
4. Composer 설치한다.
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
# 파일 복사
cp /usr/local/bin/composer /usr/bin/composer
5. Composer 실행 확인
그런데, Composer 정상설치를 하고 난뒤 실행할때는 root 가 아닌 일반 유저로 실행하도록 한다.
--------------------------------------------------------------------------------------------
> composer
Do not run Composer as root/super user! See https://getcomposer.org/root for details
--------------------------------------------------------------------------------------------
6. Composer init (초기화)
그런데, 반드시 설치 경로를 프로젝트의 Root 에서 composer 하여 설치하도록 한다.
그래야 해당 composer.json 과 /vendor 등의 폴더가 그 프로젝트에 맞게 생성된다.
필자는 /home/lee_ubuntu2/www 프로젝트 루트경로로 이동하였다.
엔터키를 이용하여 쭉쭉 나아가자.
lee_ubuntu2@lee-ubuntu:~/www$ composer init
Welcome to the Composer config generator
This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>) [lee_ubuntu2/www]:
Description []:
Author [n to skip]: n
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: library
License []:
Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]? n
Would you like to define your dev dependencies (require-dev) interactively [yes]? n
Add PSR-4 autoload mapping? Maps namespace "LeeUbuntu2\Www" to the entered relative path. [src/, n to skip]: n
{
"name": "lee_ubuntu2/www",
"type": "library",
"require": {}
}
Do you confirm generation [yes]? y
-------------------------------------
이렇게 끝나면 프로젝트 root 에 composer.json 파일이 생성된다.
7. Stripe 라이브러리 설치하기
lee_ubuntu2@lee-ubuntu:~/www$ composer require stripe/stripe-php
Composer could not detect the root package (lee_ubuntu2/www) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version
./composer.json has been updated
Composer could not detect the root package (lee_ubuntu2/www) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version
Running composer update stripe/stripe-php
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking stripe/stripe-php (v16.4.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading stripe/stripe-php (v16.4.0)
- Installing stripe/stripe-php (v16.4.0): Extracting archive
Generating autoload files
No security vulnerability advisories found.
Using version ^16.4 for stripe/stripe-php
Stripe 가 모두 설치되었다.
참고 : https://yoshikixdrum.tistory.com/342
참고 : https://devstuffs.tistory.com/entry/composer-3-%EC%B2%AB-%EC%82%AC%EC%9A%A9
참고 : https://preciousstory.tistory.com/23
참고 : https://www.jaenung.net/tree/7774?srsltid=AfmBOoqnBe30iRDtpZQ2UyLG-edZavLF52OzEZTu_EVCSxHcL74IZs7G
'PHP' 카테고리의 다른 글
[PHP] 업로드 용량 설정 (php.ini) (0) | 2024.12.27 |
---|---|
[PHP,Javascript] 동영상 미리보기, 동영상 업로드시 자동 썸네일 이미지생성하기 (0) | 2024.12.01 |
[PHP] PayPal 해외결제 작업하기 (1) | 2024.11.16 |
[PHP] 페이지 이동 header() 와 <meta http-equiv='refresh' /> 비교 (0) | 2024.11.15 |
[PHP] 파일 다운로드시 특정파일명으로 변경하여 다운로드 받고 싶을때(한글명) (2) | 2024.09.25 |