Mac環境でCakePHP4のシンプルなアプリケーション(スケルトン)をセットアップし、MySQLをインストールしてデータベース接続するところまでのMEMOです。
CakePHP4をセットアップしローカル環境で立ち上げる
ターミナルを立ち上げてからcomposerでセットアップします。composerのセットアップまでは、ここでは省略しています。
- ターミナルを立ち上げる。
cd {セットアップしたいところまでのパス}
composer self-update && composer create-project --prefer-dist cakephp/app:4.2 {プロジェクト名}
※ 「4.2」部分は「*」とか「4.2.10」とか「4.2.*」とかだとエラーになりました。cd {プロジェクト名}
bin/cake server -p 8765
でCakePHP起動。
MySQLをインストールし起動
なんか前にセットアップしていたMySQLがエラーを出して動かなくなっていたので再インストール。rootのパスワード設定まで。
こんなエラー
ERROR! The server quit without updating PID file
これの通り対処
sudo rm -rf /usr/local/var/mysql
brew uninstall mysql
brew install mysql
mysql.server start
※ インストール直後は自動的に起動- mysql -uroot
- mysql>
set password for root@localhost='パスワード';
- mysql>
flush privileges;
- mysql>
quit
Adminerをセットアップ
Php一枚でPhpMyAdminみたいなことができる非常にシンプルなものなのでコレでMySQLにログイン。
- Adminer をダウンロード
- {CakePHP4のプロジェクトルート}/webroot/adminer にダウンロードした「adminer-4.8.1.php」を配置。(アクセスしやすいようにファイル名を「adminer.php」としておきました)
http://localhost:8765/adminer/adminer.php?username=root
と上記で設定したパスワードでログイン。- 「データベースを作成」でこのプロジェクト用のデータベースを作成。(例:「_mskg_hoge」
CakePHPでローカルのMySQLにデータベース接続
/config/app_local.php を開き、Datasourcesのdefaultに対し、username, password, database を指定。
'Datasources' => [ 'default' => [ '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' => 'root', 'password' => '{パスワード}', 'database' => '_mskg_hoge',
http://localhost:8765 を叩いて、「Database」部分が
CakePHP is able to connect to the database.
となればOK。
以上
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。