4starlink

Cakephp3をCentOS7( php7 + php-fpm + nginx + MySQL )にインストールした際のメモ

大分出遅れた感がありますが、最近cakephp3のサービスを構築したので、
それを兼ねてメモ。

早速、cakephp3の公式サイトでインストール方法を確認。

http://book.cakephp.org/3.0/ja/installation.html

システム要件を確認すると。。。

システム要件
HTTPサーバー。例: Apache。mod_rewrite が推奨されますが、必須ではありません。
PHP 5.5.9 以上 (PHP 7 も含む)
PHP mbstring 拡張
PHP intl 拡張

…(PHP 7も含む)!

せっかくなので、速いとウワサのphp7に、php-fpmと、nginxの構成で、
yumでインストールしてみました!!

構築した構成はこれ!

1. php7のインストール

こちらの記事参考にサクッとインストールできちゃいました!
「DQNEO起業日記」さん、ありがとうございます!(楽泣)
参考:http://dqn.sakusakutto.jp/2015/12/centos7_yum_install_php70.html

元々php5など入っている場合は、あらかじめ削除しておいた方がいいかも。
あと周辺モジュールも。

一括で既存phpをyumで削除。。扱い注意
# yum remove php-*

2. mysqlのインストール

「kakiro-web」さん、ありがとうございます!
http://www.kakiro-web.com/linux/mysql-yum-repository-install.html

3. php-fpm と nginxをインストール

nginxをインストール

# yum install nginx

php-fpmのインストール

# yum install php70-fpm 

※php7用を

4. php-mbstringやphp-intlをインストール

php7用のものを。
とりあえずパッケージ名を調べる場合は、

# yum list php*intl

5. cakephp3のインストール

公式サイト参考に。。
http://book.cakephp.org/3.0/ja/installation.html

あとは試しに、DBのテーブル等作って

下記コマンドで簡単にusersのMVCをさくっと作成してみる

bin/cake bake users all

下記インストール時にひっかかった部分メモ

トラブルシューティング その1

Database driver Cake\Database\Driver\Mysql cannot be used due to a missing PHP extension or unmet dependency

yum install php70-php-mysqlnd

トラブルシューティング その2

いくらサイトにアクセスしてもcakephpが表示されない。
エラーとかみて、それでもそらしいログがない場合。
php5.4とかで一度プロジェクトファイルを作ってしまった場合等。

php composer.phar create-project --prefer-dist cakephp/app my_app

などとそもそもcreate-projectからし直す。

トラブルシューティング その3

Controller class Index could not be found.

tmpとlogsのパーミッションを疑うorSELinuxを疑う。
僕の場合は、パーミッションでした。