PHP 8, Laravel 10 개발 환경 세팅

Laravel 개발 환경 세팅 방법이 많아서 최대한 햇갈리지 않게 정리해본다.

 

Laravel 10 요구 사항

  • PHP >= 8.1
  • Ctype PHP Extension
  • cURL PHP Extension
  • DOM PHP Extension
  • Fileinfo PHP Extension
  • Filter PHP Extension
  • Hash PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PCRE PHP Extension
  • PDO PHP Extension
  • Session PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

출처: laravel.com

 

Local 개발 환경 (Windows 기준)

Standalone 형태로 직접 설치

PHP 8 Windows 버전 다운로드 후 압축 해제

Composer-Setup.exe 설치

composer로 Laravel 프로젝트 생성 (라이브러리 에러나면 필요한 라이브러리 설치) 또는 IDE로 프로젝트 생성

 

Docker Container 사용 (시도해보지 않음)

Docker Desktop 설치

container 생성 후 IDE (IntelliJ 또는 Visual Studio Code)에서 설정으로 container와 연결 (안해봤는데 가능할 것 같다)

IDE로 프로젝트 생성

 

원격 개발 서버 세팅 (Docker)

docker run -d -p 8000:8000 --name laravel-api -v /data/docker/laravel:/var/www/html php:8.1.23-fpm

php 8.1.23-fpm 이미지로 container 생성

 

docker exec -it laravel-api bash

laravel-api container로 접속

 

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

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

composer 설치 및 composer 바이너리 실행 파일 이동

 

apt-get update && apt-get install -y \
    zlib1g-dev \
    libzip-dev \
    unzip

docker-php-ext-install zip

composer create-project laravel/laravel 명령어 실행시 필요한 라이브러리 설치

 

composer create-project laravel/laravel laravel-api

Laravel 기본 프로젝트 (laravel-api) 생성

 

서버 실행

개발 환경 (Local, 원격 개발 서버)

php artisan serve --host=0.0.0.0

php 내장 웹 서버를 사용하는 방법으로, php artisan serve 명령어는 개발 환경에서만 사용

--host=0.0.0.0 옵션을 사용하지 않으면 외부에서 접근 불가

 

출처: stackoverflow.com

 

운영 환경 (실제 서비스)

Apache 또는 Nginx 웹 서버의 환경 설정을 변경하여 사용

 

실행 결과

root@b0ddf72a4585:/var/www/html/laravel-api# php artisan serve --host=0.0.0.0

   INFO  Server running on [http://0.0.0.0:8000].

  Press Ctrl+C to stop the server

  2023-09-05 12:32:36 ................................................................................................................................................................................. ~ 0s
  2023-09-05 12:32:36 /favicon.ico .................................................................................................................................................................... ~ 0s