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

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

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

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

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

cd C:\Bitnami\wampstack-5.6.29-1\apache2\htdocs

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

コマンドプロンプトで以下のコマンドを実行する。

composer create-project --prefer-dist cakephp/app chococake

以下のように表示され、インストールが開始される。

Installing cakephp/app (3.4.2)
(以下略)

最後に以下のように表示されるので、[Enter]キーを押下。

Set Folder Permissions ? (Default to Y) [Y,n]? Y

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

http://localhost/chococake/

サブドメインの設定

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

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

#Include conf/extra/httpd-vhosts.conf

変更後

Include conf/extra/httpd-vhosts.conf

コメントを外し、「httpd-vhosts.conf」を読み込むよう設定。

■変更ファイル: httpd-vhosts.conf
以下を追記。

<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>

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

データベースの設定

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

変更前

    '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,

変更後

    '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,

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

CakePHP の一覧