文系Webエンジニアの技術メモとたまに旅のメモ

未経験文系エンジニアとして働いてます。アウトプットとして簡単に技術メモを残していきます。たまに旅関係のも趣味で残していこうと思ってます。

【CakePHP3】CakePHP3系をインストールした後、やっておくべき初期設定をまとめてみました。

CakePHP3系をインストールした後、やっておくべき初期設定が何個かあるので
そちらをまとめてみました。

1.開発環境

CakePHP:3.8.13
MAMP:5.7
PHP:7.4.2
MySQL:5.7.26

2.「.env」ファイルの作成

まずはじめに「.env」ファイルを作成します。

「/config」ディレクトリの中に、「.env.default」ファイルがあるので
コピペします。

その後、「.env」ファイルにリネームします。

※「.env.default」は隠しファイルになっているので、非表示から表示される様に設定しましょう。

f:id:igarashi44:20200630224715p:plain

3.「app.php」ファイルの作成

「/config」ディレクトリの中に、「app.default.php」ファイルがあるので
コピペします。

その後、「app.php」ファイルにリネームします。

f:id:igarashi44:20200630235319p:plain

3.「default」ファイルの注意点

基本的に、「default」ファイルは、コピペし、「default」がない状態のファイルを作成します。
「.env」や「app.php」などは、環境ごとの設定になるためです。
なので、「default」ファイルは基本的に、触らない様にしましょう。

4.「.env」ファイルを有効化

「/config/bootstrap.php」ファイルを修正していきます。

56行目周辺にあるif文のコメントアウトを外し、「env」ファイルを読み込む様に設定します。

<?php
config/bootstrap.php
// if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
//     $dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
//     $dotenv->parse()
//         ->putenv()
//         ->toEnv()
//         ->toServer();
// }

// コメントアウトを外します。
if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
    $dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
    $dotenv->parse()
        ->putenv()
        ->toEnv()
        ->toServer();
}
?>

5.日本時間の設定

「/config/app.php」ファイルを修正していきます。

273行目周辺にある「timezone」の値を「+09:00」に変更し、日本時間に設定します。

/config/app.php
<?php
    'Datasources' => [
        'default' => [
            // 'timezone' => 'UTC',   // 世界基準
            'timezone' => '+09:00',   // 日本時間
?>

6.環境変数の設定

環境変数は、基本的に「.env」ファイルに記述をします。

/config/.env
アプリケーションの名前
#export APP_NAME=__APP_NAME__
export APP_NAME={アプリケーション名}

デフォルトロケールを日本語に設定
#export APP_DEFAULT_LOCALE=en_US
export APP_DEFAULT_LOCALE=ja_JP

#export APP_DEFAULT_TIMEZONE="UTC"
export APP_DEFAULT_TIMEZONE="Asia/Tokyo"

ソルト値を変更
#export SECURITY_SALT=__SALT__
export SECURITY_SALT={app.phpに記述してあるソルト値}

ソルト値のapp.phpの78行目周辺の「SECURITY_SALT」の値を貼付け、その後値を空にします。

/config/app.php
<?php
    'Security' => [
     // 'salt' => env('SECURITY_SALT', '{ここの文字列を,envのSECURITY_SALTの値に貼付}'),
        'salt' => env('SECURITY_SALT', ''), // 貼付後文字列を削除
    ],
?>

続いてDBの接続設定をしていきます。

未設定だとまだ、DBへの接続はエラーになっています。

index.php
f:id:igarashi44:20200630235349p:plain

「.env」ファイルにDB情報を入力していきましょう。

/config/.env
#接続に必要な情報のみ追記しましょう。
export DB_PORT={ポート番号}
export DB_HOST={ホスト}
export DB_SCHEMA={データベース名}
export DB_USERNAME={ユーザー名}
export DB_PASSWORD={パスワード}

「app.php」のDB設定を上記の定数に修正します。

/config/app.php
<?php
    'Datasources' => [
        'default' => [
            'port'     => env('DB_USERNAME', ''),
            'username' => env('DB_USERNAME', ''),
            'password' => env('DB_PASSWORD', ''),
            'database' => env('DB_SCHEMA', ''),
?>

再度「index.php」を開いてみましょう。
正しく、DB設定ができていれば、「CakePHP is able to connect to the database.」と
表示されているはずです。
もし、エラーのままだったら、再度DB設定を見直してみましょう。

f:id:igarashi44:20200701005437p:plain

これで初期設定は完了です!
インストールしてからもしなければいけないことが多々あるので
設定のし忘れに注意しましょう!