CakePHP3、CakePHP4のバージョンを指定してインストールする詳細な手順を解説
2022/03/31
CakePHP3、CakePHP4のバージョンを指定してインストールする方法
CakePHP3、CakePHP4のバージョンを指定してインストールする方法の解説
CakePHP3、CakePHP4のバージョンを指定してインストールする方法の解説です。
CakePHP3、CakePHP4のバージョンを指定してインストールする場合は、下記の様にバージョンを指定してインストールを行います。
(この記事は、CakePHP3の記事として書きましたが、CakePHP4でも同様に動作することを確認しました。「CakePHP3」を「CakePHP4」と読み替えていただいて問題ありません。)
1 2 3 4 5 6 7 8 9 10 11 |
【最新版をインストールする場合】 composer create-project --prefer-dist cakephp/app [my_app_name] 【マイナーバージョンを指定する場合】 composer create-project --prefer-dist cakephp/app:3.4.* [my_app_name] 【メンテナンスバージョンまで指定する場合】 composer create-project --prefer-dist cakephp/app:3.4.4 [my_app_name] 【Composerにパスが通っていない場合】 php composer.phar create-project --prefer-dist cakephp/app [my_app_name] |
CakePHP3、CakePHP4のバージョンを指定してインストールする必要がある場面
CakePHP3で会員管理システムの開発を行う機会がありました。
その際、CakePHP3で会員管理システムと言えば、CakeDCが提供するプラグイン「CakeDC/Usersプラグイン」がありますので、この「CakeDC/Usersプラグイン」を使って会員管理システムを構築しようと思いました。
ですが、「CakeDC/Usersプラグイン」は CakeDCが作っているとはいえ、CakePHP3のバージョンアップと同時にバージョンアップはしていきませんので、CakePHP3の最新版をインストールした場合は、「CakeDC/Usersプラグイン」が使えない、という状況になることが多々あります。
その場合、「CakeDC/Usersプラグイン」が最新バージョンに対応するまで待つという方法もありますが、一般的には「CakeDC/Usersプラグイン」が対応している CakePHP3のバージョンに合わせてインストールをする、という選択をするでしょう。
そんなわけで、CakePHP3のバージョンを指定してインストールする方法が必要になったわけです。
その他にも、本番で稼働しているサイトの開発環境を構築するため、本番と同じバージョンの CakePHP3をインストールする、という場合などにも必要になってくるでしょう。
CakePHP3、CakePHP4のインストール手順
最初に CakePHP3、CakePHP4のバージョンを指定してインストールする方法を解説しましたが、CakePHP3、CakePHP4をインストールする方法について、改めて書いておきます。
CakePHP3公式サイト インストール
https://book.cakephp.org/3.0/ja/installation.html
CakePHP3公式サイト インストール
https://book.cakephp.org/4/ja/installation.html
Composerのインストール
CakePHP3、CakePHP4は、Composerを使ってインストールを行います。
そのため、Composerをインストールする必要があります。
Composerは、PHPのパッケージ管理システムで、ライブラリなどのパッケージをインストールする際に、コマンド一つで関連するパッケージも含めてインストールしてくれるシステムです。
Composerをインストールする方法については、下記のサイトなどが参考になるかと思います。
https://weblabo.oscasierra.net/php-composer-windows-install/
https://qiita.com/ozawan/items/caf6e7ddec7c6b31f01e
CakePHP3、CakePHP4を Composerを使ってインストール
前項でインストールした Composerを使って、CakePHP3、CakePHP4をインストールします。
インストールする際に使用するコマンドは、最初に解説した下記になります。
1 |
composer create-project --prefer-dist cakephp/app [my_app_name] |
「[my_app_name]」は、作成するサイトのフォルダ名になります。
コマンドを実行したフォルダの中に「[my_app_name]」のフォルダ名でフォルダが作成され、その中に CakePHP3がインストールされます。
実行中に、下記の質問をされますので、通所は「Y」を入力しておきましょう。
1 |
Set Folder Permissions ? (Default to Y) [Y,n]? y |
インストールには数分程度かかりますが、待つだけでインストールが完了します。
動作確認
インストールが完了したら動作確認を行います。
不具合がある場合や、違うバージョンをインストールし直す場合などで、インストールした CakePHP3、CakePHP4を削除したい場合は、フォルダごと削除すれば OKです。
データベースの接続
Composerを使ってインストールするようになりましたので、CakePHP3、CakePHP4を使うために必要なのセットアップの大半は自動化されて、ほぼ何もせずに利用することができます。
一つだけ対応する必要がありますが、それはデータベースへの接続情報の設定です。
CakePHP3系のデータベースの設定情報は、
/config/app.php
にあります。
この「app.php」の 220行目辺りからがデータベースの設定情報です。
CakePHP4系のデータベースの設定情報は、
/config/app_local.php
にあります。
この「app_local.php」の 37行目辺りからがデータベースの設定情報です。
設定する内容は下記の情報で、設定する情報は CakePHP3でも CakePHP4でも違いはありません。
1 2 3 4 5 |
'host' => 'localhost', 'port' => '3306', 'username' => 'root', 'password' => 'pass', 'database' => 'cake3', |
ちなみに、ポート番号の指定は、「port」に値を指定せずに、下記の様に「host」に指定してしまうことも可能です。
1 |
'host' => 'localhost:3306', |
CakePHP3のシステム要件
最後に CakePHP3を利用するためのシステム要件も記載しておきます。
- HTTP サーバー。例: Apache。mod_rewrite が推奨されますが、必須ではありません。
- PHP 5.6.0 以上(PHP 7.1 も含む)
- mbstring PHP 拡張
- intl PHP 拡張
- simplexml PHP 拡張
公式サイトにも書いてありますが、Webサーバは Apacheだけでなく、nginxや lighttpd、Microsoft IISでも動作します。
また、XAMPPでも動作します。
データベースは必須ではありませんが、使う場合は下記の条件を満たすものが求められます。
- MySQL(5.1.10 以上)
- PostgreSQL
- Microsoft SQL Server(2008 以上)
- SQLite 3
CakePHP4のシステム要件
最後に CakePHP4を利用するためのシステム要件も記載しておきます。
- HTTP サーバー。例: Apache。mod_rewrite が推奨されますが、必須ではありません。
- PHP 7.2 以上(PHP 8.1 も含む)
- mbstring PHP 拡張
- intl PHP 拡張
- simplexml PHP 拡張
- PDO PHP 拡張
公式サイトにも書いてありますが、Webサーバは Apacheだけでなく、nginxや lighttpd、Microsoft IISでも動作します。
また、XAMPPでも動作します。
データベースは必須ではありませんが、使う場合は下記の条件を満たすものが求められます。
- MySQL(5.6 以上)
- MariaDB(5.6 以上)
- PostgreSQL(9.4 以上)
- Microsoft SQL Server(2012 以上)
- SQLite 3
「組み込みのドライバーは全て PDO を必要とします。」と言うことですので、「PDO PHP拡張モジュール」をインストールする必要があるようです。
CakePHP3の関連記事
CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールするCakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
その他の「CakePHP3」に関する記事一覧
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakePHP4のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP4で公開側と管理側のデザインテンプレートを分ける方法・setLayout()
CakePHP4でcontrollerで実行したバリデーションエラーをmodelのにマージする方法
CakePHP4で「app_local.php」「.env」を利用して環境ごとの定数を振り分ける方法
CakePHP4の定数定義ファイルを環境変数によって本番と開発を振り分ける方法解説
CakePHP4で定数の設定と呼び出し方法の解説(defineとConfigure)
CakePHP4のCakeDC/Usersのログイン時のリダイレクトとユーザ権限管理の設定解説
CakePHP4のCakeDC/Usersの画面、メール本文テンプレートのカスタマイズ方法解説
CakePHP4のユーザ管理・ログイン認証プラグインCakeDC/Usersのインストール解説
その他の「CakePHP4」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CakePHP3にデザインテンプレートBootstrapを導入する方法・friendsofcake/bootstrap-ui使用
CakePHP3にプラグイン「friendsofcake/bootstrap-ui」、デザインテンプレート「Bootstrap」を設置する手順を解説。Bootstrapの簡単な使い方やデフォルトのデザインとの混在方法なども解説。
-
-
CakePHP4の定数定義ファイルを環境変数によって本番と開発を振り分ける方法解説
CakePHP4で開発環境と本番環境とで違う設定ファイルを読み込ませて環境ごとに定数を切り替える方法を解説。Apacheのhttpd.confに環境変数を設定しそれを読み込み判別する。
-
-
CakePHP 2.3 Search Pluginで検索処理 その6ORDER、sortソートの機能
CakePHPの検索プラグイン Search Pluginの検索処理の中で order、ソートについての解説です。
-
-
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でajaxを利用する処理の実装方法を解説。プルダウンを変更するとデータベースの値を取得し検索結果の内容を変更するというような処理を想定。CakePHP3.6以降の CSRF対策対応済。
-
-
CakePHP3のアソシエーション機能を使い関連レコードをまとめて削除
CakePHP3でレコードを削除する際に関連するレコードをまとめて削除する機能の解説。フレームワークのメリットを存分に発揮し、コマンドを1行追加するだけで実装可能。
-
-
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法を解説。複数の方法があるが、getParam()メソッドを使う方法が汎用性があって便利かも。
-
-
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
CakePHP3でルーティングの設定変更をしたけど反映されない!そんなときは慌てず騒がずキャッシュをクリアしよう!ルーティングの設定もキャッシュされることがあるらしい。
-
-
CakePHP 2.3 デバッグキット(DebugKit)超初心者向けフォロー講座
CakePHP初心者に向けてデバッグキット(DebugKit)のインストール方法、はまりポイントを解説。
-
-
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングをする方法を解説。インストール方法、読み込み方法。および、具体的なスクレイピングを実行するサンプルソースも。
-
-
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!