PHP의 입문서 1주위를 위해, Sakut과 Docker로 Apache + MySQL + PHP + phpmyadmin의 환경 만들기
7721 단어 docker-composephpMyadminPHP도커
PHP 입문서를 한 번 돌고 싶기 때문에 LAMP 환경을 원합니다.
PHP력을 올리고 싶기 때문에, 입문서로부터 하려고 생각했습니다.
그러기 위해 바삭바삭하게 준비할 수 있어, 사용하게 하는 로컬 환경을 원했기 때문에, 그 메모입니다.
이번에는 docker-compose를 사용하여 환경을 구축합니다.
현재 환경
디렉토리 구성 및 파일
디렉토리 구성
.
├── docker-compose.yml
├── html
│ └── index.php
├── mysql
├── php
│ ├── dockerfile
│ └── php.ini
└── phpmyadmin
docker-compose.yml
version: '3'
services:
php:
build:
context: ./php
dockerfile: dockerfile
volumes:
- ./php/php.ini:/usr/local/etc/php/php.ini
- ./html:/var/www/html
ports:
- 8080:80
mysql:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_USER=root
- MYSQL_PASSWORD=root
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
# - PMA_USER=test
# - PMA_PASSWORD=test
links:
- mysql
ports:
- 4040:80
volumes:
- ./phpmyadmin/sessions:/sessions
dockerfile
FROM php:7.2-apache
RUN apt-get update && \
docker-php-ext-install pdo_mysql mysqli mbstring
index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>php7.2-apache</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<?php phpinfo(); ?>
</body>
</html>
php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"
모든 오류를 표시하려면 다음을 추가하십시오.
error_reporting = E_ALL
실행 명령
docker-compose.yml
가 있는 디렉토리로 이동하여 다음을 수행합니다.$ docker-compose up -d
dockerfile을 변경하면
$ docker-compose up -d --build
php.ini 등의 변경을 반영하고 싶을 때는
$ docker-compose restart
동작 확인
phpinfo 표시
http://localhost-8080.com/
phpmyadmin 보기
http://localhost:4040/
로그인 화면에서
docker-compose.yml
의 mysql 컨테이너의 정보를 기재해 로그인 할 수 있으면 OK집어 넣은 곳
docker-compose.yml
에 image: php:7.2-apache
라고 기재하고 있었지만, MySQL의 드라이버가 없어 MySQL 움직일 수 없었기 때문에, dockerflie를 작성했다 docker-compose.yml
의 phpmyadmin 컨테이너에 PMA_USER
및 PMA_PASSWORD
를 입력하면 phpmyadmin에 성공적으로 로그인 할 수 없으며 데이터베이스를 만들 수 없으므로 주석 처리 이번에 할 예정인 PHP 입문서
PHP 입문 확인 화면 첨부의 문의 폼을 만들면서 PHP 배우기(제2판)
htps : // 아 mz 응. 및 / 2 rz7Fr
※상기 환경에서 동작 확인 완료
잘 아는 PHP의 교과서【PHP7 대응판】
htps : // 아 mz 응. 및 / 2LhQ4mW
※ 아직 미착수
참고 기사
Reference
이 문제에 관하여(PHP의 입문서 1주위를 위해, Sakut과 Docker로 Apache + MySQL + PHP + phpmyadmin의 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nakashiii/items/b3b04b30b692f73f46cb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)