XAMPPが起動できなくなった場合の対処方法:
xampp-controlでWebとDBのサービスを停止してPCをシャットダウンしていても障害が発生するようです。
原因は不明。
こちらのBlogの掲載内容で復旧できました。必ずしも復旧できるとは限りませんが試す価値はあります。
phpMyAdminの挙動不審:
設定内容を正しく入力していてもエラーが出て設定が進まない障害が出た受講生がいます。
原因は不明。推測:ブラウザの戻る(矢印ボタン)を使用するとバグる可能性あり
ブラウザをすべて閉じてphpMyAdminを開きなおすと障害が出ないようになる場合があります。試してください。
XAMPPのバージョンについて:
実習室のXAMPPにもバグが残っていますが、バージョンアップ版にもバグが残っています。バージョンアップ版に新しく生じたバグもあります。
実習室のXAMPPよりも新しいバージョンを利用する際は注意してください。
実習室のバージョンで動作確認した内容で演習を準備しています。
Got error 176 "Read page with wrong checksum" from storage engine Aria:
phpMyAdminでこのエラーが出た場合、mysqlデータベースのdbテーブルが破損している。普及を試す。復旧しない場合は他のPCからテーブルをコピー(エクスポートしてインポート)して直す。
データベース名の変更
日本語のデータベース名(全角文字)を使用している場合はアルファベットと数字と‗の名前に変更する。データベースが破損したりCakePHPに連動できなかったりする。
変更方法:
phpMyAdminの ホームアイコン → データベース → データベース選択 → 操作
から変更。
テーブル名の変更
テーブルを選択後、操作タブから変更可能。
phpMyAdminでレコードが追加できない
レコードを一括して複数行挿入する設定になっている場合は全レコードの入力フォームに値を記入する。挿入先のレコードに外部参照制作があって未記入の入力フォームからNull値が設定されるのでエラーになる場合がある。
bakeで外部キーが設定できない
user_ID や User_id のように大文字を含むフィールド名から外部参照が設定されない模様。テーブル名やフィールド名の大文字を小文字に変更してbakeし直して修正する。
CakePHP3で予約語を使うには?
例えば character (文字型)のようなPHPやMySQLの予約語をテーブル名やフィールド名に使用したい場合(基本は使用を避ける)、こちらの記事参照。
app_local.php の設定を編集する。
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app',
'password' => 'sekret',
'database' => 'my_app',
'encoding' => 'utf8',
'timezone' => 'Tokyo/Asia',
'cacheMetadata' => true,
'quoteIdentifiers' => true,//←これ
]
],
一覧表示(index)からviewをクリックするとエラーになる
多対多用の中間テーブルを bake すると発生する障害。
主キーが id ではない articles_tags や boardgames_categories の様なテーブルは bake しない。
誤って bake して生成したphpファイルやフォルダを全て削除する。
src/controller/テーブル名Controller.php , src/model/Entity/テーブル名(単数形).php , src/model/Table/テーブル名Table.php , template/テーブル名 など。
bake し直してもWebの表示に変化が起きない
こちらの記事も参照。
bakeで生成したphpファイルをすべて削除してbakeし直すとうまくいく場合がある。
生成されるファイル)
src/controller/テーブル名Controller.php
src/model/Entity/テーブル名(単数形).php
src/model/Table/テーブル名Table.php
template/テーブル名
主キーのidの値をリセットしたい
テーブルのレコードを全削除してリセットする。リセット方法はこちらを参照。