Windows への CakePHP インストール on XAMPP
Windows環境でXAMPPをインストールし、その上でCakePHPを動作させる手順です。
XAMPPとかCakePHPの記事書いているのにそもそもそのインストール手順ないやん!ってことで。
実際、自分が再構築するのにやり方忘れてた部分もあったので(´・ω・`)
XAMPPのインストール
ダウンロード
XAMPP 日本語からWindows 向け XAMPPをダウンロード
インストール
- ダウンロードしたファイルをダブルクリックしてインストールを開始
- 64bit OSへインストールする場合にWarningが出ます
please avoid to install XAMPP toに続くパス以外にインストールしましょう
OKボタン - Nextボタン
- Select Components
インストールコンポーネントを選択しNextボタン
よく分からない場合はそのままで問題ありません
私は必須以外に以下を選択- MySQL
- phpMyAdmin
- Installation folder
インストール先を指定してNextボタン - Bitnami for XAMPP
チェックを外してNextボタン - Nextボタン
- インストール中にファイアウォールの警告が表示された場合は、チェックをそのままにしてアクセスを許可するボタン
- Finishボタン
- 完了画面でチェックを入れていた場合、下記の画面が表示されるので、言語を選択してSaveボタン
- コントロールパネルが起動します
- MySQLStart時にファイアウォールの警告が表示された場合は、チェックをそのままにしてアクセスを許可するボタン
Composerのインストール
ダウンロード
- CakePHP 日本語にアクセス
- クイックスタートガイドをクリック
- 画面をスクロールしてCakePHP の取得にあるComposer のウェブサイトをクリック
- Composer-Setup.exeをダウンロード
インストール
- ダウンロードしたファイルをダブルクリックしてインストールを開始
- Installation Options
チェックせずにNextボタン - Settings Check
PHPのインストールフォルダを指定してNextボタン - Proxy Settings
プロキシサーバー経由でインターネットに接続する場合はプロキシサーバーを設定します
Nextボタン - Installボタン
- Nextボタン
- Finishボタン
CakePHP3のインストール
- コマンドプロンプトを起動します
- CakePHP3をインストールしたいフォルダに移動します
- 以下のコマンドを実行します
Composerのインストールディレクトリがデフォルト(C:\ProgramData\ComposerSetup\bin
)の場合
C:\ProgramData\ComposerSetup\bin\composer self-update && C:\ProgramData\ComposerSetup\bin\composer create-project --prefer-dist cakephp/app cake-prj
または
コマンドプロンプトでComposerのインストールディレクトリから以下のコマンドを実行します。
C:\xampp\htdocs\cake-prj
にインストールする場合
composer self-update && composer create-project --prefer-dist cakephp/app C:\xampp\htdocs\cake-prj
インストールできたらブラウザでアクセスできるか確認します。
- XAMPPでApacthを起動します
- ブラウザで
http://localhost/cake-prj/
にアクセスします
正常にインストール出来ていれば、以下のようなCakePHP3の画面が表示されます
以下のようなエラーが出た場合、php.ini
を後述のように編集します。
その後、インストールフォルダを削除して、再度コマンドを実行してください。
- cakephp/cakephp 3.6.9 requires ext-intl * -> the requested PHP extension intl is missing from your system.
Fatal error: You must enable the intl extension to use CakePHP. in C:\xampp\htdocs\cake-prj\config\requirements.php on line 31
php.iniの編集
extension=intl
を有効にします。
;extension=intl
の行を以下のように変更します。
extension=intl
Databaseへの接続を設定する
/{CakePHPプロジェクト}/config/app.php
でDatasources
を編集します。
'username'
'password'
'database'
をXAMPPで設定した値に変更します。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
/*
* CakePHP will use the default DB port based on the driver selected
* MySQL on MAMP uses port 8889, MAMP users will want to uncomment
* the following line and set the port accordingly
*/
//'port' => 'non_standard_port_number',
'username' => 'my_app', // * 変更する
'password' => 'secret', // * 変更する
'database' => 'my_app', // * 変更する
/*
* You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6).
*/
//'encoding' => 'utf8mb4',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
/**
* Set identifier quoting to true if you are using reserved words or
* special characters in your table or column names. Enabling this
* setting will result in queries built using the Query Builder having
* identifiers quoted when creating SQL. It should be noted that this
* decreases performance because each query needs to be traversed and
* manipulated before being executed.
*/
'quoteIdentifiers' => false,
/**
* During development, if using MySQL < 5.6, uncommenting the
* following line could boost the speed at which schema metadata is
* fetched from the database. It can also be set directly with the
* mysql configuration directive 'innodb_stats_on_metadata = 0'
* which is the recommended value in production environments
*/
//'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
'url' => env('DATABASE_URL', null),
],