DockerとLaradockでCakePHPの開発環境を構築する

Laradock準備まで記事はこちらになります。

それでは前回までに作成した【laradock_workspace_1】コンテナにComposerを利用してCakePHPをインストールしていきます。

 

本記事の目的

 

Cakephpを【laradock_workspace_1】コンテナにインストール

Cakephpを【laradock_workspace_1】コンテナにインストール

Cakephpを【laradock_workspace_1】コンテナにインストールするため、Composerの【Create-Project】コマンドを実行し、プロジェクトを作成します。workspaceコンテナには予め【composer】がインストールされています。【mycakephp】はプロジェクト名(ディレクトリ名)になります。

プロジェクトの確認

以下のコマンドを実行し、【mycakephp】プロジェクトが作成されたことを【ls】コマンドで確認しコンテナから出ます。

 

Webサーバー(nginx)の【document root】変更

nginxの【document root】変更

ファイルパス:/laradock/nginx/sites/default.conf

今回使用するWebサーバー(nginx)の上記【default.conf】ファイルの【document root】をCakePHPに合わせるため、以下の様に変更します。

【laradock_nginx_1】コンテナ再起動

【document root】変更を反省させるため、以下のコマンドを実行します。

 

CakePHPスタートページブラウザ確認

CakePHPスタートページブラウザ確認

http://localhostにブラウザアクセスしてCakePHPスタートページが表示されるか確認します。表示されていたら無事に完了ですが、【HTTP ERROR 500】が表示されました。

 

Kitematic(Beta)でエラー確認

Kitematic(Beta)でエラー確認

生成起動したコンテナでエラーが出力されていないか確認したところ【laradock_nginx_1】のコンテナで以下の様なエラーが出力されていました。

また【laradock_php-fpm_1】のコンテナでも以下の様なエラーが出力されていました。

 

intl PHP 拡張を【laradock_php-fpm_1】コンテナに追加

intl PHP 拡張の確認

上記のエラーはCakephpを使うためのシステム要件である【intl PHP 拡張】が有効化されていないため起こっているので【laradock_php-fpm_1】コンテナで【intl】が有効化されているか【laradock_php-fpm_1】に接続し、以下のコマンドを実行して確認します。

【php -r “var_dump(extension_loaded(‘intl’));”】(または【php -i | grep ‘intl’】でも確認は可能)を実行します。【bool(false)】と表示されたので【intl】は有効化されていませんでしたので、コンテナを出ます。

PHP_FPM_INSTALL_INTLの設定を変更

laradockディレクトリ【.env】ファイルのPHP_FPM_INSTALL_INTLの設定を、【false】から【true】変更します。

intl PHP 拡張を【laradock_php-fpm_1】コンテナに追加

PHP_FPM_INSTALL_INTLの設定を反映させるため、以下のコマンドを実行し【laradock_php-fpm_1】コンテナを再生成起動します。

intl PHP 拡張の再確認

再度【laradock_php-fpm_1】に接続し確認すると【bool(true)】と表示されたので、【laradock_php-fpm_1】コンテナで【intl】が有効化されました。

 

CakePHPスタートページブラウザ再確認

CakePHPスタートページブラウザ再確認

http://localhostにブラウザアクセスしてCakePHPスタートページが表示されるか確認します。今度は無事表示されました。

 

Cakephpとdatabaseの接続エラー修正

Cakephpとdatabaseの接続エラー確認

上記のエラーはCakePHPがdatabaseに接続されていないため起こっているので、以下の、laradockディレクトリ【.env】ファイルのMYSQLの設定を確認します。

【app.php】ファイルの【Datasources】の内容を変更

ファイルパス:/mycakephp/config/app.php

今回使用するCakePHPの上記【app.php】ファイルの【Datasources】をdatabaseに合わせるため、以下の様に変更します。

Cakephpとdatabase接続エラー修正確認

http://localhostにブラウザアクセスしてCakePHPスタートページの表示内容を確認します。database接続エラーは無事解消されました。

コメントを残す

Scroll to top