Docker + Nginx + PHP-FPM + MySQL 8 + CakePHP3.8로 자습서 환경을 빨리 만듭니다.
개요 🎂
CakePHP3 튜토리얼 Docker를 사용해보십시오.
htps : // 기주 b. 코 m / 요타 사사키 / 카케 php 3 - c r 에 있습니다.
구성
사용법
$ 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점만.
$ 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',
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
보충
--default-authentication-plugin=mysql_native_password
로 했습니다. intl
설정하거나 또 귀찮은 일이 되기 때문에. composer create-project
때로 튜토리얼용의 테이블도 만들어 버리게 했습니다. 불필요한 경우는 1.create-schema.sql 를 삭제하면, 테이블은 작성되지 않습니다. intl
디렉터리를 다른 이름으로 만들려면 다음을 수정하고 docker-compose up
다시 cms
docker-compose down --rmi all
의 volumes up
루트 docker-composer.yml
커멘드의 마지막 인수 참고
환경 구축에 관해서는 이미 많이 알기 쉬운 기사가 있으므로, 본 기사는 보충 정보 정도로 해 주시면 좋겠습니다.
Reference
이 문제에 관하여(Docker + Nginx + PHP-FPM + MySQL 8 + CakePHP3.8로 자습서 환경을 빨리 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yotsak/items/bb524ea7925646590597텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)