docker環境でデータの保存ができません
phpでのアプリケーションシステムの改修をしています。
初心者ですが、見様見真似でなんとかdocker構築しました。
localhostでの挙動確認もできますし、ローカルのphpMyAdminも確認できます。
構築時(3か月くらい前)は、普通にローカルDBへの保存もできていましたが、
久しぶりに起動してみると、localhost環境でのDB保存ができない状態です。
例えば、記事投稿機能で投稿ができない。書類を提出する機能でエラーとなる。
単にDBに拒否されているように感じるのですが、システムエラーなどが出るわけでもなく
どこを確認するのかもわかりません。
dockerDesktopでのDELETEからのdocker-compose build --no-cache --force-rmコマンドなど
数回しています。
mysqlのdata内を削除して、再ビルドしたりもしましたが、状況はかわりません。
何か可能性として考えられることはあるでしょうか?
どうかお願い致します。
以下docker設定ファイル
docker
1version: "3.8" 2 3services: 4 php73-httpd: 5 build: ./docker/php 6 container_name: php73-httpd 7 ports: 8 - 80:80 9 volumes: 10 - ./:/var/www/html 11 environment: 12 TZ: "Asia/Tokyo" 13 depends_on: 14 - db 15 16 db: 17 build: ./docker/mysql 18 container_name: db-host-database 19 ports: 20 - 3306:3306 21 volumes: 22 - ./docker/mysql/data:/var/lib/mysql 23 24 phpmyadmin: 25 image: phpmyadmin/phpmyadmin 26 container_name: phpmyadmin-horenso-sket 27 environment: 28 - PMA_ARBITRARY=1 29 - PMA_HOST=db-host-database 30 - PMA_USER=root 31 - PMA_PASSWORD=secret 32 links: 33 - db 34 ports: 35 - 8080:80 36 volumes: 37 - /sessions
mysql/dockerfile
1FROM mysql:8.0.19 2 3ENV TZ='Asia/Tokyo' \ 4 MYSQL_DATABASE=database \ 5 MYSQL_USER=root \ 6 MYSQL_PASSWORD=secret \ 7 MYSQL_ROOT_PASSWORD=secret 8 9COPY ./my.cnf /etc/my.cnf
php/dockerfile
1FROM php:7.3-apache 2 3# timezone environment 4ENV TZ=UTC \ 5 # locale 6 LANG=en_US.UTF-8 \ 7 LANGUAGE=en_US:en \ 8 LC_ALL=en_US.UTF-8 9 10RUN apt-get update && \ 11 apt-get -y install git libicu-dev libonig-dev libzip-dev unzip locales && \ 12 apt-get clean && \ 13 rm -rf /var/lib/apt/lists/* && \ 14 locale-gen en_US.UTF-8 && \ 15 localedef -f UTF-8 -i en_US en_US.UTF-8 && \ 16 docker-php-ext-install intl pdo_mysql mysqli zip bcmath 17 18RUN docker-php-ext-enable pdo_mysql 19 20# Install composer 21RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer 22 23# Add cake and composer command to system path 24ENV PATH="${PATH}:/var/www/html/lib/Cake/Console" 25ENV PATH="${PATH}:/var/www/html/app/Vendor/bin" 26 27WORKDIR ./app 28RUN mkdir -p \ 29 tmp/cache/models \ 30 tmp/cache/persistent \ 31 && chown -R :www-data \ 32 tmp \ 33 && chmod -R 770 \ 34 tmp 35 36COPY ./php.ini /etc/php.ini 37COPY ./apache/000-default.conf /etc/apache2/sites-available/000-default.conf 38 39RUN usermod -u 1000 www-data 40RUN groupmod -g 1000 www-data 41 42RUN a2enmod rewrite \ 43 && service apache2 restart
###docerのphpログ
特にエラーらしきものはわかりません、、、
172.26.0.1 - - [14/Jun/2021:11:42:06 +0900] "POST /board/entryWriting/?1623638442 HTTP/1.1" 500 989 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48" 172.26.0.1 - - [14/Jun/2021:11:42:14 +0900] "POST /board/getEntryList/?1623638450 HTTP/1.1" 200 515 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48" 172.26.0.1 - - [14/Jun/2021:11:42:21 +0900] "POST /board/getNewComment/?1623638457 HTTP/1.1" 200 515 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48" 172.26.0.1 - - [14/Jun/2021:11:42:28 +0900] "POST /board/updateEntryList/?1623638464 HTTP/1.1" 200 515 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48" 172.26.0.1 - - [14/Jun/2021:11:42:35 +0900] "POST /board/updateComment/?1623638471 HTTP/1.1" 200 515 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48" 172.26.0.1 - - [14/Jun/2021:11:42:42 +0900] "POST /consumer/getCheckData/?1623638478 HTTP/1.1" 200 291 "http://localhost/board/?tag=t90" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48"
###var_dumpでのコンソール
php
1Failed to load resource: the server responded with a status of 500 (Internal Server Error)
errir.log
php
12021-06-14 03:25:01 Error: [PDOException] SQLSTATE[HY000]: General error: 1364 Field 'complete' doesn't have a default value 2Request URL: /board/entryWriting/?1623641016= 3Stack Trace:
database.php
php
1class DATABASE_CONFIG { 2 3 // default 4 public $default = array( 5 'datasource' => 'Database/Mysql', 6 'persistent' => false, 7 'host' => 'db', 8 'login' => 'root', 9 'password' => 'secret', 10 'database' => 'database', 11 'prefix' => '', 12 'encoding' => 'utf8', 13 ); 14 // ローカル 15 public $local = array( 16 'datasource' => 'Database/Mysql', 17 'persistent' => false, 18 'host' => 'db', 19 'login' => 'root', 20 'password' => 'secret', 21 'database' => 'database', 22 'prefix' => '', 23 'encoding' => 'utf8', 24 ); 25 // 開発 26 public $dev = array( 27 'datasource' => 'Database/Mysql', 28 'persistent' => false, 29 'host' => 'localhost', 30 'login' => 'root', 31 'password' => '#####', 32 'database' => 'database_dev', 33 'prefix' => '', 34 'encoding' => 'utf8', 35 ); 36 // 本番 37 public $pro = array( 38 'datasource' => 'Database/Mysql', 39 'persistent' => false, 40 'host' => 'localhost', 41 'login' => 'root', 42 'password' => '######', 43 'database' => 'database_pro', 44 'prefix' => '', 45 'encoding' => 'utf8',
AppModel.php
php
1class AppModel extends Model { 2 3 public function __construct($id = false, $table = null, $ds = null) 4 { 5 $env = (isset($_SERVER['CAKE_ENV']) ? $_SERVER['CAKE_ENV'] : 'local'); 6 if ($env !== 'default') { 7 $this->useDbConfig = $env; 8 } 9 10 parent::__construct($id, $table, $ds); 11 }