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」に関する記事一覧
CakePHPのFlashエラーは出るが入力項目ごとのメッセージが出ないエラーの原因
CakePHP4のフラッシュメッセージの表示場所、デザインを変更する方法を解説
CakePHPで同一テーブル内の値を比較する条件でレコードを取得する方法
国際化と地域化の翻訳機能「__()」を使って定数に変数を埋め込む方法
CakePHP4で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakePHP4のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP4で公開側と管理側のデザインテンプレートを分ける方法・setLayout()
CakePHP4でcontrollerで実行したバリデーションエラーをmodelのにマージする方法
その他の「CakePHP4」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
CakePHP3でファイルのアップロード処理を自作・解説付き・その1
CakePHP3でファイルをアップロードする処理を、php.netにある「エラーを起こさない」と説明がある処理を参考に作成。サンプルソースとその解説付きで、コピペでも動くし、カスタマイズも簡単!
-
CakePHP3のユーザ管理・ログイン認証プラグインCakeDC/Usersのインストール解説・3.6以降対応
CakePHP3のユーザ管理プラグイン Usersは、ユーザ登録、メール認証、ログイン認証、ユーザ管理、権限管理、reCAPTCHAなど会員制のサイトを簡単に実現可能。その導入方法、カスタマイズ方法を解説。
-
CakePHP 2.3 Search Pluginで検索処理 その1設置方法
CakePHPの検索プラグイン Search Pluginの設置方法と基本的な検索処理の解説です。
-
CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)
CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。
-
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
CakePHP3で静的なページを設置する場合の方法(webrootとpagesとを活用する方法)を解説。pagesの解説はデフォルトのトップページがどう表示されているかを参考に解説。ルーティングの機能も。
-
CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法
CakePHP3でtitleタグ、h1タグのテキストをデフォルトから変更する方法を解説。テンプレートファイルに「$this->assign()」でテキストを指定して「/Layout/defult.ctp」で受け取る。
-
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3でJavaScriptやCSSを編集する基本形から、それらやテンプレート(エレメント)を特定のテンプレートを読み込んだときのみ編集、実行するための方法、ブロック化について解説。
-
CakePHP3でDocumentRootやtmp、webroot、logsなどのフォルダへのパスの定数
CakePHP3で特定フォルダのパスの定数を解説。root、DocumentRoot、app、config、webroot、tests、tmp、cache、vendor、コア、コアの srcが設定済み。realpath()関数を使うと柔軟なパス指定が可能。
-
CakePHP 2.3でファイルのアップロード処理を作る
CakePHPでプラグインを使わないファイルアップロード処理を解説します。簡単です。DBにファイルを格納する方法も。
-
CakePHP3でテーブルにカラム(項目)を追加したときに変更するポイントのまとめ
CakePHP3でシステム開発をする際、途中でカラムを追加した場合に何を変更すればいいかを確認。カラムを追加する前後で Bakeした結果を比較し、変更になった点をリストアップした。