Docker + Nginx + PHP-FPM + MySQL 8 + CakePHP3.8로 자습서 환경을 빨리 만듭니다.

개요 🎂



CakePHP3 튜토리얼 Docker를 사용해보십시오.
htps : // 기주 b. 코 m / 요타 사사키 / 카케 php 3 - c r 에 있습니다.

구성


  • 제목대로입니다. 튜토리얼을 진행하기 위한 최소한의 구성입니다.
  • Docker Desktop for mac
  • Docker Compose
  • Nginx
  • PHP-FPM
  • MySQL 8
  • CakePHP3계 (3.8.4)


  • 사용법


    $ cd /YOUR/PROJECT
    $ git clone https://github.com/yotasasaki/cakephp3-docker.git .
    $ cd docker/
    $ docker-compose up -d
    $ docker ps --format="{{.Names}}"
    cake-nginx
    cake-mysql
    cake-phpfpm
    $ docker exec -it cake-phpfpm bash
    // in phpfpm container
    /var/www/html # rm cms/empty && composer self-update && composer create-project --prefer-dist cakephp/app:^3.8 cms
    ... composer install ...
    /var/www/html # exit
    
    // config/app.php の編集
        'Datasources' => [
            'default' => [
                // ... more configurations
                'host' => 'cake-mysql',
                'username' => 'cakephp',
                'password' => 'password',
                'database' => 'cake_cms',
    

    htp://0.0.0.0:8080/ 에 액세스하면 CakePHP3의 디폴트 톱 페이지에 액세스 할 수 있을 것이므로, Database 항목이 CakePHP is able to connect to the database. 이 되어 있으면 OK입니다.



    튜토리얼을 진행하는데 있어서의 주의점



    CakePHP 3.8.4 에서도 거의 튜토리얼대로도 문제 없습니다만, 1점만.
  • 검증 규칙 업데이트 에서, ->allowEmptyString('title', false) 의 인수에 대해서 경고가 나옵니다. ->allowEmptyString('title', null, false) 와 같이 인수의 순서를 바꾸어 하면(자) 고쳐집니다. 참고 : 3.8 마이그레이션 가이드
  • Deprecated (16384): You are using a deprecated argument order for Cake\Validation\Validator::allowEmptyString. You should reverse the order of your `when` and `message` arguments so that they are `message, when`. - /var/www/html/cake/vendor/cakephp/cakephp/src/Validation/Validator.php, line: 855
    

    보충


  • MySQL8 계를 사용하기 위해 --default-authentication-plugin=mysql_native_password 로 했습니다.
  • 대체로 모두가 빠진다. 로컬 PC상에서 실행하면 intl 설정하거나 또 귀찮은 일이 되기 때문에.
  • 이번은 composer create-project 때로 튜토리얼용의 테이블도 만들어 버리게 했습니다. 불필요한 경우는 1.create-schema.sql 를 삭제하면, 테이블은 작성되지 않습니다.
  • intl 디렉터리를 다른 이름으로 만들려면 다음을 수정하고 docker-compose up 다시 cms
  • docker-compose down --rmi all 의 volumes
  • up 루트
  • CakePHP의 DL전이라면 docker-composer.yml 커멘드의 마지막 인수


  • 참고



    환경 구축에 관해서는 이미 많이 알기 쉬운 기사가 ​​있으므로, 본 기사는 보충 정보 정도로 해 주시면 좋겠습니다.
  • Docker + Nginx + PHP-FPM이라면 40 초 정도로 환경을 준비 할 수있는 docker-compose가 즐거워졌습니다.
  • Docker로 CakePHP3.7 + Nginx + MySQL 환경을 구축해 보았습니다!
  • 좋은 웹페이지 즐겨찾기