0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CakePHP環境構築メモ

Last updated at Posted at 2021-04-13

CakePHP学習用個人備忘録

ゴール
XAMPP環境にCakePHPをインストールして、デフォルトページを表示するところまで

ポイント
intl拡張機能のエラー解消

環境
Mac
ローカル開発環境はXAMPP
PHP/Composer/インストール済

XAMPPインストール

MacOS用のダウンロードページからPHPバージョンを選択し、遷移先画面で末尾がinstaller.dmgのリンクをクリックしてDL(vmのほうではないので注意)
https://sourceforge.net/projects/xampp/files/XAMPP%20Mac%20OS%20X/

インストールが完了すると勝手にコンパネが出てきます。
この時点でApacheが起動しているので以下にアクセスしてXAMPPのホーム画面が表示されればOK
http://localhost/dashboard/
(表示されない時はコンパネのManage ServerタブをクリックしてApacheをstartすればOK)
スクリーンショット 2021-04-12 17.37.54.png

CakePHPをインストール

アプリケーションフォルダ内にXAMPPフォルダが出現しています。公開フォルダであるhtdocsへ移動します。

cd /Applications/XAMPP/htdocs

ターミナル上でhtdocsディレクトリに移動したら、プロジェクトディレクトリの生成とCakePHPのファイルをダウンロードします。
例でプロジェクト名(ディレクト名)はmessagesappにします。(好きなように決めてください)

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

以下でCakePHPのデフォルトページが表示されればOKです。(プロジェクト名は指定した名称に変更してください)
http://localhost/dashboard/messagesapp

intl拡張機能のエラー解消

【エラー文】
概要: intl拡張機能が読み込まれていないのでPHPを調整して設定してください。

Fatal error: You must enable the intl extension to use CakePHP. in /Applications/XAMPP/xamppfiles/htdocs/messagesapp/config/requirements.php on line 31

【原因と解決策】
・HomebrewがHomebrew/phpをdeprecated(廃止)しており、
 MacのデフォルトのPHPが使われていため、PHPを再インストールしてみる。

・MacPortsというパッケージ管理システムでintl拡張機能をインストールしてみる。

PHPを再インストール

XAMPPのPHPバージョンを確認(ページ最上部)
http://localhost/dashboard/phpinfo.php

インストールできるPHPのバージョンを確認します。

brew search php

*結果*
==> Formulae
brew-php-switcher      php-code-sniffer       php@7.2                php@7.4                phplint                phpmyadmin             phpunit
php ✔                  php-cs-fixer           php@7.3                phpbrew                phpmd                  phpstan
==> Casks
eclipse-php          netbeans-php

XAMPPのバージョンにあったPHPをインストールします。

brew install php@7.4

格納先を確認
MacのPHPのパスから、今回インストールしたPHPのパスが表示され、インストールしたPHP適応されていることを確認できます。

which php

*結果*
/Applications/XAMPP/xamppfiles/bin/php

バージョンを確認

php -v

*結果*
PHP 7.4.16 (cli) (built: Mar 12 2021 04:42:02) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

intl拡張機能をインストール

現在、intlをHomebrewでダウンロード出来ないので、MacPortsというパッケージ管理システムでインストールしていきます。

以下記事を参考にMacPortsをインストールしましょう。MacPortsは/opt/local/以下にインストールされます。
https://webkaru.net/dev/macports-download-install/

2.
パスを通します。

設定ファイルを開く

vi ~/.bash_profile

以下を追記

PATH=/opt/local/bin:/opt/local/sbin:$PATH
MANPATH=/opt/local/man:$MANPATH
export PATH
export MANPATH

読み込ませる

source ~/.bash_profile

3.
アップデートします。
(MacPorts本体の更新とパッケージリストの更新を同時に行います。MacPortsを使う前に実行する癖をつけるといいらしいです)

sudo port selfupdate

4.
インストールしたPHPと同じバージョンのintl拡張機能をMacPortのコマンド(port)でインストールします。

sudo port install php74-intl

XAMPPのphp.iniを編集

1.
intlをインストールしたことで以下の場所にフォルダが生成されますのでパスを取得します。
/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-********

2.
XAMPPのphp.iniに2行を追記します。
********は上記で調べたフォルダ名に差し替えてください。

extension=/opt/local/lib/php74/extensions/no-debug-non-zts-********/intl.so
extension=/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-********

php.iniの格納先は以下URLのLoaded Configuration File項目に記載されています。
http://localhost/dashboard/phpinfo.php

Apacheを再起動してアクセス

XAMPPのコンパネでApacheを再起動していかにアクセスしてデフォルトページが表示されればOKです。
http://localhost/messagesapp/

スクリーンショット 2021-04-13 13.54.10.png

参考記事

https://hacknote.jp/archives/56258/
https://webkaru.net/dev/macports-download-install/
https://www.karakaram.com/macports-howto/#install

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?