CakePHPをインストールする [WSL/Ubuntu環境]
WSL(Windows Subsystem for Linux)のUbuntu18.04で「CakePHP」をインストールする方法です。その他のバージョン、CentOSなどでも同様な操作で可能です。
前提条件
PHP7.4をインストール済み |
※CakePHPの3.x系、4.x系を使用する場合。
システム要件
PHP 7.4 intl PHP拡張 mbstring PHP拡張 simplexml PHP拡張 |
※PHPモジュール(PHP拡張)の設定は後述します。
1. zipコマンドのインストール
sudo apt install zip
2. PHPモジュールの確認とインストール
// PHPモジュール一覧から「intl/mbstring/SimpleXML」の存在確認をする php -m | grep -e intl -e mbstring -e SimpleXML 以下の3つが表示されればインストール済み --- intl mbstring SimpleXML --- 以下はモジュールがインストールされていない場合 ※主にintlのみがインストールされていない場合が多いです。 --- // intl sudo apt-get install php7.4-intl // mbstring sudo apt-get install php7.4-mbstring // SimpleXML sudo apt-get install php7.4-SimpleXML --- エラーが発生した際は sudo apt-get update を実行して、再度、上記のインストールコマンドを実行します。 // Apacheの再起動 sudo service apache2 restart
3. Composerのインストール
CakePHPはComposerというパッケージ管理ソフトを使用します。
curl https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer which composer composer -v
4. プロジェクトの生成
次の例ではD:¥cake¥にsample-projectを生成します。
// Dドライブのcakeフォルダに移動 ※任意 cd /mnt/d/cake // CakePHP 3.x系の最終バージョンの3.9を生成。※4.x系ならば"4.2.*"など composer create-project --prefer-dist cakephp/app:3.9.* sample-project 末尾に次のメッセージが出たらエンターキーを押す。 --- Set Folder Permissions ? (Default to Y) [Y,n]? --- // カレントの移動 cd sample-project // 実行する bin/cake server
4-1. プロジェクト生成時に赤文字でエラーが発生する
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump Action required! The CakePHP plugin installer v1.3+ no longer requires the "post-autoload-dump" hook. Please update your app's composer.json file and remove usage of Cake\Composer\Installer\PluginInstaller::postAutoloadDump
この赤文字のエラーは2020年10月24日にCakePHP Plugin Installerがv1.3にバージョンアップして、表示されるようになったようです。動作に影響は無いので放置で良いそうです。
エラーを発生させている公式のソースコードはこちら
https://github.com/cakephp/plugin-installer/blob/master/src/Installer/PluginInstaller.ph
ソースコード内のコメントで「post-autoload-dumpはv1.3から不要になりました。」と書いてます。そのpost-autoload-dumpは「composer.json」で設定されています。
4-2. 3.x系のサポート期限
3.x系の最終バージョンである「3.9」のサポートは2022/12/15迄です。
https://github.com/cakephp/cakephp/wiki#3x-maintenance-mode
恐らく、業務では「3.9」をしばらく使用すると思われます。
4-3. Notice、Warningのエラーを非表示にする
config/app_local.phpのDEBUGをfalseにする。
'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
※DEBUG = true = 開発モード
※DEBUG = false = 本番モード