1. Home
  2. PHP
  3. CakePHP
  4. 【入門】PHPフレームワーク「CakePHP3」をインストールする。

【入門】PHPフレームワーク「CakePHP3」をインストールする。

  • 公開日
  • 更新日
  • カテゴリ:CakePHP
  • タグ:PHP,install,Beginner,CakePHP,3.5
【入門】PHPフレームワーク「CakePHP3」をインストールする。

日本ではまだまだシェアの高い PHP フレームワークである「CakePHP3 」の導入を行っていきます。

Contents

  1. 検証環境
  2. CakePHP とは
  3. CakePHP3 を動かすのに必要なもの
  4. 確認と環境構築
    1. PHP バージョン確認
    2. PHP 拡張モジュールの確認
    3. Composer の確認
  5. CakePHP3 のインストール

検証環境

  • linux CentOS 7
  • Apache 2.4
  • PHP 7.1
  • MySQL 5.7

CakePHP とは

[公式]CakePHP
https://cakephp.org/jp

CakePHP(ケイクピーエイチピー)は、Web アプリケーションをよりシンプルに、より速く、少ないコードで構築することを可能にします。 近代的な PHP 7 フレームワークは、柔軟性のあるデータベースアクセス層と強力な足場システムを提供し、小型システムと複雑なシステムの両方をよりシンプルに、より簡単に、そしてより巧妙に構築できます。 迅速に構築し、CakePHP で堅実に成長してください。

とまあ、公式からの抜粋を和訳してみたら説明になっていませんでしたが、個人的な見解から説明すると、CakePHP は PHP フレームワークとして必要な機能は大抵持っているので、機能面での心配はまずありません。

Laravel など他の PHP フレームワークと違うところは、CakePHP なりの規則が多い事です。

WEB アプリケーション構築時のルールが多く、Laravel に比べると多少自由を削がれている感じではありますが、結果、それに従って構築していく事によって、誰が書いても同じような構成・コードで出来上がるよ。という感じになっています。

日本でシェアがあるのもわかるなあって感じですが、開発しているのが「cake ソフトウェア財団」というところで、アメリカにあるんですね。

とはいえ公式リファレンスが充実しており、Cookbook や API リファレンスと合わせる事で結構な情報量になるので、採用するには心強い PHP フレームワークの1つです。

CakePHP3 を動かすのに必要なもの

インストールを行う前に、自身の環境が要件を満たしているかを確認する必要があります。

CakePHP3 をインストールするのに必要な環境は以下になります。

  • PHP 5.6.0 以上
  • PHP 拡張モジュール
    • mbstring
    • intl
    • simplexml
  • Composer
  • MySQL 5.1.10 以上

確認と環境構築

ここからは、CakePHP3 のシステム要件を満たす為の確認と各ミドルウェアの導入を行います。

PHP バージョン確認

PHP のバージョンを確認します。以下のコマンドを叩きます。

# PHP のバージョンが 5.6 以上であるか確認する
php -v

# 実行結果
[demo@localhost ~]# php -v

PHP 7.1.11 (cli) (built: Oct 25 2017 10:24:28) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.11, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

PHP にのバージョンが 5.6.0 以上であれば OK です。それ以下の場合は、5.6.0 以上の PHP に入れ替える必要があります。

PHP 拡張モジュールの確認

CekePHP の稼働に必要な PHP 拡張モジュールが全て導入されているか確認します。以下のコマンドを叩きます。

# 必要な PHP 拡張モジュールが導入されているか確認する
php -m | grep -e intl -e mbstring -e SimpleXML

# 実行結果
[demo@localhost ~]# php -m | grep -e intl -e mbstring -e SimpleXML
intl
mbstring
SimpleXML 

「intl 」「mbstring 」「SimpleXML 」が表示されれば OK です。

SimpleXML に関しては、PHP を導入時点でデフォルトで有効になっていますが、その他2つについては手動で導入が必要な場合があります。

Composer の確認

Composer が導入されているか確認します。以下のコマンドを叩きます。

# Composer が入っているか確認する
composer -v

# 実行結果
[demo@localhost ~]# composer -v
-bash: composer: command not found

上記のような結果の場合、Composer が入っていないので、インストールします。

# Composer をインストールする
yum -y install composer

インストール完了後、再度バージョン確認のコマンドを叩き、バージョンが表示されれば導入完了です。

CakePHP3 のインストール

準備が整ったので、CakePHP3 のインストールを行います。

プロジェクトルートへ移動し、Composer コマンドを叩いて CakePHP プロジェクトを作成します。

# CakePHP ルートディレクトリへ移動
cd /path/to/cakephp

# 書式
composer create-project --prefer-dist cakephp/app [作成する場所]

# CakePHP をインストールする
composer create-project --prefer-dist cakephp/app ./

インストールが完了したら、tmp ディレクトリと logs ディレクトリのユーザーを apache へ変更します。

# tmp ディレクトリと logs ディレクトリのユーザを変更する
chown apache:apache tmp logs

最後に、bake コマンドを使うために実行権限を付与します。

# CakePHP ルートディレクトリへ移動
cd /path/to/cakephp

# bin/cake に実行権限を付与する
chmod +x bin/cake

これで導入作業は完了です。

[demo@localhost cakephp]# ll
total 104
drwxr-xr-x.  2 nobody nobody    47 Sep 22 06:31 bin
-rw-r--r--.  1 nobody nobody  2016 Sep 22 06:31 composer.json
-rw-r--r--.  1 nobody nobody 76288 Sep 22 06:31 composer.lock
drwxr-xr-x.  3 nobody nobody  4096 Sep 22 06:31 config
-rw-r--r--.  1 nobody nobody   649 Sep 22 06:31 index.php
drwxr-xrwx.  2 apache apache    18 Sep 22 06:31 logs
-rw-r--r--.  1 nobody nobody  1202 Sep 22 06:31 phpunit.xml.dist
drwxr-xr-x.  2 nobody nobody    18 Sep 22 06:31 plugins
-rw-r--r--.  1 nobody nobody  1663 Sep 22 06:31 README.md
drwxr-xr-x.  8 nobody nobody  4096 Sep 22 06:31 src
drwxr-xr-x.  4 nobody nobody    55 Sep 22 06:31 tests
drwxr-xrwx.  5 apache apache    45 Sep 22 06:31 tmp
drwxr-xr-x. 22 nobody nobody  4096 Sep 22 06:31 vendor
drwxr-xr-x.  6 nobody nobody    96 Sep 22 06:31 webroot

実際にブラウザからアクセスし、以下のような画面が表示されればインストール完了です。

next:【入門】 CakePHP3 をインストール後に行っておくべき初期設定

Author

rito

  • Backend Engineer
  • Tokyo, Japan
  • PHP 5 技術者認定上級試験 認定者
  • 統計検定 3 級