読者です 読者をやめる 読者になる 読者になる

プログラミングノート

プログラミングの備忘録です

初心者向け cakephp cakephpフレームワークの導入 第1回

Windowsマシンにcakephp v4.3.2を導入します。

 

1.プロジェクトを作成

Composerと使ってCakePHPアプリケーションのプロジェクトを作成します。

コマンドプロンプトで下のコマンドを実行すると、コマンドを実行したディレクトリに、プロジェクト名のディレクトリが作成されます。(ここで作成しましたプロジェクト名のディレクトリをプロジェクトディレクトリと呼びます。)

php composer.phar create-project --prefer-dist cakephp/app プロジェクト名」

 

補足

1.cakephpは、php拡張モジュールのopensslとmbstringとintlを必要とします。

  • 「The openssl extension is required for SSL/TLS protection but is not availab
     le.」が表示された場合は、php.iniで、extension=extension=php_openssl.dllの行頭の「;」を削除し、opensslを有効にします。
  • 「the requested PHP extension intl is missing from your system.」が表示された場合は、php.iniで、extension=php_intl.dllの行頭の「;」を削除し、intlを有効にします。
  • 「the requested PHP extension mbstring is missing from your system.」が表示された場合は、php.iniで、extension=php_mbstring.dllの行頭の「;」を削除し、mbstringを有効にします。

 2.Set Folder Permissionsの設定

上のコマンドを実行すると、途中で「Set Folder Permissions ? (Default to Y) [Y,n]? 」が表示されましたので、「Y」と入力しました。その後「Updated Security.salt value in config/app.php」が表示されました。

 

2.cakephpコンソールを起動

  1. コマンドプロンプトで、プロジェクトディレクトリに移動して、コマンド「php bin/cake.php」を実行します。
  2. 正常に起動した場合、「Welcome to CakePHP v3.4.2 Console」が表示されます。

 

3.cakephpビルトインサーバを起動

  1. コマンドプロンプトで、カレントディレクトリをプロジェクト名のフォルダに移動して、コマンド「php bin/cake.php server」を実行します。
  2. 正常に起動した場合、「Welcome to CakePHP v3.4.2 Console」が表示されます。
  3. ブラウザを開き「http://localhost:8765/」にアクセスすると、cakephpのページが表示されます。

 

補足

  1. ビルトインサーバは開発サーバとして使用し公開しません。
  2. ホスト名やポートを指定する場合は、下の例のようなコマンドを実行します。すると「http://127.0.0.1:5973」でアクセスできるようになります。
(例)「php bin/cake.php server -H 127.0.0.1 -p 5673」

 

4.Apachecakephpを使う

1.URLリライティングができるように設定

cakephpはデフォルトでmod_writeを使用する設定になっています。そのためmod_writeが使用できるようにApacheを設定します。

 

1-1.mod_rewrite がロードされるように設定

Apachehttpd.confの下の行の先頭の「#」を削除します。

LoadModule rewrite_module modules/mod_rewrite.so

 

1-2..htaccessで設定の上書きができるように設定

プロジェクトを使用するドキュメントルートディレクトリの設定を、.htaccessで上書きできるように、 Apachehttpd.confで「AllowOverride All」を設定します。

(例)

<Directory />

  Options FollowSymLinks

  AllowOverride All

# Order deny,allow

# Deny from all

</Directory>

 

1-3.Apachehttpd.confを変更後、Apacheを再起動

 

 2..htaccessの設定

2-1.プロジェクトディレクトリの.htaccess

<IfModule mod_rewrite.c>

 RewriteEngine on

 RewriteRule ^$ webroot/ [L]

 RewriteRule (.*) webroot/$1 [L]

</IfModule>

 

2-2.ドキュメントルートディレクトリの.htaccess

<IfModule mot_write.c>

 RewriteEngine On

 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteRule ^ index.php [L]

</IfModule>

 


プロジェクトディレクトリのindex.phpにアクセスします。
cakephpページが表示されます。

 

参考

https://book.cakephp.org/3.0/ja/

インストール