やりたいこと
docker-compose でLaravelを立ち上げ、そのページの一部をWordpressにしたい。
できないこと
Wordpress の install.php
にデータベースの情報を入力しても「接続確立エラー」と表示される。
バージョン
php:7.3.13
nginx:1.17
mysql:8.0
できていること
docker-composeでLaravelを立ち上げ。 localhost:8080
でLaravelのwelcomeを表示。(localhost)
Laravel public下の article
にWodrpressファイルを配置、
localhost:8080/article/wp-admin/install.php
にアクセスすると構成ファイルのセットアップ画面が表示される。
mysql にユーザーを作成、 wp_article
テーブルに全権限(ALL)を付与した wp_admin@'%'
ユーザーを作成。
上記ユーザーをWordpressの install.php
に入力したが、エラーが発生。
やったこと、試したこと
mysql_connect()
がないと怒られたのでdockerfileでmysqli
を読み込んだ
→ install.php
が表示されるように
Dockerfile
1docker-php-ext-install bcmath pdo_mysql mysqli
- Sequel Pro (Test build) から作成したユーザーでアクセスを試行
→ localhostとは異なるIPからのアクセスとして弾かれたため、ホストにワイルドカードを使用しアクセスが成功
- wp-configを直接編集し、DB_NAME、DB_USER、DB_PASSWORD、DB_HOST、DB_CHARSET、DB_COLLATE を設定、Key/Saltも設定。
→ 同様に接続確立エラー
docker-compose.yml
version: "3" services: app: build: context: ./docker/php args: - TZ=${TZ} volumes: - ./src:/work - ./logs:/var/log/php - ./docker/php/php.ini:/usr/local/etc/php/php.ini working_dir: /work environment: - DB_CONNECTION=mysql - DB_HOST=db - DB_DATABASE=${DB_NAME} - DB_USERNAME=${DB_USER} - DB_PASSWORD=${DB_PASS} - TZ=${TZ} web: image: nginx:1.17-alpine depends_on: - app ports: - 8080:80 volumes: - ./src:/work - ./logs:/var/log/nginx - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf environment: - TZ=${TZ} db: image: mysql:8.0 volumes: - db-store:/var/lib/mysql - ./logs:/var/log/mysql - ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf environment: - MYSQL_DATABASE=${DB_NAME} - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASS} - MYSQL_ROOT_PASSWORD=${DB_PASS} - TZ=${TZ} ports: - 33306:3306 volumes: db-store:
env
1# laravel用ユーザー 2DB_NAME=laravel 3DB_USER=laravel 4DB_PASS=secret 5TZ=Asia/Tokyo
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。