LoginSignup
0
2

More than 5 years have passed since last update.

DockerでPHP7、MySQL5.7、PHPixie3の開発環境を構築する

Last updated at Posted at 2017-11-18

はじめに

Dockerで、PHPixieフレームワークの環境を構築する方法がweb上でなかなか見つからなかったのでここに投稿します。

目次

  • はじめに
  • 概要
  • 動作環境
  • 手順
  • おわりに

概要

以下の環境の開発環境を構築することがゴールです。PHPixieの初期画面が表示されることが期待値です。

スクリーンショット 2017-11-18 13.28.03.png

  • CentOS 7
  • PHP7
  • MySQL 5.7
  • PHPixie 3
  • Apache 2.2

動作環境

  • macOS Sierra 10.12.6
  • Docker for Mac

手順

PHPixieをcomposerでダウンロードする

$ composer create-project phpixie/project phpixie

Docker Containerの作成

今回、Docker環境を構築するにあたりDockerイメージを作成したので、そちらを利用します。

$ docker pull econoics0it0bem0116/php7-phpixie
$ docker run -d --privileged -p 8080:80 -v {現在のディレクトリまでの絶対パス}/phpixie:/var/www/html --name php7-phpixie econoics0it0bem0116/php7-phpixie /sbin/init -DFOREGROUND

Apache初期セットアップ

Apacheを起動いたします。

$ docker container exec -it php7-phpixie sh

(container内)
# systemctl start httpd

MySQL初期セットアップ

MySQLの初期パスワードを取得して、パスワードリセットします。

(container内)
# cat /var/log/mysqld.log | grep password
2017-11-18T08:09:36.277776Z 1 [Note] A temporary password is generated for root@localhost: {初期パスワード}

# mysql_secure_installation ##パスワードを更新する

database接続設定

  • assets/config/database.phpを修正する
<?php

return array(
    'default' => array(
        'database' => 'phpixie',
        'user'     => 'root',
        'password' => 'P@ssw0rd',
        'adapter'  => 'mysql', // one of: mysql, pgsql, sqlite
        'driver'   => 'pdo'
    )
);
  • 接続動作確認
# ./console framework:database drop
Database succesfully dropped or does not exist
# ./console framework:database create
Database succesfully created or already exists

動作確認

http://localhost:8080 
にアクセスすると、以下の画面が見えればここまで成功です。

スクリーンショット 2017-11-18 13.28.03.png

以上で終了です。

おわりに

PHPixie自体のセットアップは、composerでダウンロードして、database接続設定を変更するのみなので、非常に簡単に使い始めることができます。

備忘

今回の環境構築方法では、Apache・MySQL・config設定は手動で行いましたが、これもDockerの動作内でできるようにする予定です。
完了したら、こちらの記事も更新しようと思います。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2