ひとり勉強ログ

ITエンジニアの勉強したことメモ

#01 CakePHP3 のプロジェクトをつくる

環境:Windows10、Bitnami 前提:Composer がインストールされていること。 参考:WindowsにComposerをインストールする方法

CakePHPをインストールするディレクトリを「chococake」とする。

1.コマンドプロンプトで「htdocs」ディレクトリに移動

コメンドプロンプトを起動し、「cd」コマンドで「htdocs」ディレクトリに移動する。

例 [bash] cd C:\Bitnami\wampstack-5.6.29-1\apache2\htdocs [/bash]

2.Comoposer でプロジェクトを作成する

コマンドプロンプトで以下のコマンドを実行する。 [bash] composer create-project --prefer-dist cakephp/app chococake [/bash]

以下のように表示され、インストールが開始される。 [bash] Installing cakephp/app (3.4.2) (以下略) [/bash]

最後に以下のように表示されるので、[Enter]キーを押下。 [bash] Set Folder Permissions ? (Default to Y) [Y,n]? Y [/bash]

インストールされたディレクトリにアクセス。

http://localhost/chococake/

サブドメインの設定

「/chococake/」ディレクトリにインストールした CakePHP3 を「http://chococake.localhost/」で運用するため、Apacheの設定を変更。

■変更ファイル: httpd.conf 変更前 [bash]

Include conf/extra/httpd-vhosts.conf

[/bash] 変更後 [bash] Include conf/extra/httpd-vhosts.conf [/bash] コメントを外し、「httpd-vhosts.conf」を読み込むよう設定。

■変更ファイル: httpd-vhosts.conf 以下を追記。 [bash] <VirtualHost *:80> DocumentRoot "C:/Bitnami/wampstack-5.6.29-1/apache2/htdocs/chococake/webroot" ServerName chococake.localhost <Directory "C:/Bitnami/wampstack-5.6.29-1/apache2/htdocs/chococake/webroot"> Options Indexes FollowSymLinks Includes ExecCGI Require all granted AllowOverride All </Directory> ErrorLog "logs/chococake.localhost-error.log" CustomLog "logs/chococake.localhost-access.log" common </VirtualHost> [/bash]

Apache を再起動すると http://chococake.localhost/で上述の CakePHP3 の画面が表示される。

データベースの設定

CakePHP3 をインストールした「chococake」内、「config」ディレクトリ内の「app.php」の「'Datasources' => 」の部分にデータベースの設定を記述する。

変更前 [bash] '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', 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => , 'cacheMetadata' => true, 'log' => false, [/bash]

変更後 [bash] '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' => '(ユーザー名)', 'password' => '(パスワード)', 'database' => '(使用するデータベース)', 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => , 'cacheMetadata' => true, 'log' => false, [/bash]

以上の設定で、CakePHP3 の画面内のデータベース部分のエラーがなくなった。