XAMPPを入れ替えた
使っているXAMPPが古いのでPHPもMySQLも古い。
先日、PHPは5.4を5.6にアップデートをした(XAMPPのPHPをバージョンアップ)
今回、MySQLをアップデートしたいけど、これを機にXAMPPごとマルッと新しくしてみた。
・・・やり直すハメになったけどね。
XAMPPのダウンロード
準備
XAMPPのサイトから「Windows 向け XAMPP 5.5.38, 5.6.24 & 7.0.9」の中にある「5.6.24 / PHP 5.6.24」をダウンロード。
旧XAMPPはリネームして、今回ダウンロードしたXAMPPをインストール。
旧XAMPPから使っているHTMLのファイル群(xampp\htdocs)、データベースのデータ(xampp\mysql\data)をコピペ。
XAMPPのコンパネ起動して、apacheとMysqlを起動。
apacheが使いたがっているPORTをマイクロソフトが使っている
マイクロソフトの何かが「PORT:80」を使っているのでapacheが「ポートがブロックされてる!」的なコトを言う。
→「httpd.conf」でportを書き換える(※「XamppのApacheが起動しないとき」)
改めてapache起動。
ブラウザで確認
ブラウザ(http://localhost:8080)で確認。
今まで「http://localhost:8080」は「http://localhost:8080/xampp」にリダイレクトされていたけど新しいXAMPPだと「http://localhost:8080/dashbord」にリダイレクトされる。
見た目が今までと異なっていてかなり戸惑うが・・・気にせずすすめる。
php.iniの修正
旧XAMPPからコピッたHTMLファイル(FuelPHP)にアクセスしたら成功。
さらに別ページ(FuelPHPでDBが絡むページ)を見ると「DB関連でエラー!」的なコトを言われるのでphp.iniも旧XAMPPのphp.iniと比較して修正。
ブラウザで再確認
再度、ブラウザから確認してもダメ。調べるとデータベースのパスワードが関係しているとか。
確かに、今回XAMPPからmySQLのパスワードはいじっていない・・・。
データベースのパスワード
パスワードの設定はどうするんだろう?と調べたら・・・「XAMPPのコントロールパネルのシェルから設定しろ」と。
あと別にphpMyAdmin自体にアクセスするときのパスワードは「xampp\phpMyAdmin\config.inc.php」を手動で書き換える必要があるそうだ(※「XAMPP MySQLのパスワード変更」)
ついでに旧XAMPPのデータベースで使うファイル(xampp\mysql\data内のフォルダ、ファイル)をコピっておく。
再度、ブラウザから確認しようとしてもデータベースで何か問題あるとエラーがでてくる。
データベースのエクスポート、インポート
phpMyAdminにアクセスしてデータベースを確認。
テーブルはあるけど「(指定したテーブル名は)無い!」と言われる。
アレコレ考えたけど・・・結局は旧XAMPPに戻してphpMyAdminにアクセスしてデータベースをエクスポート。
新しいXAMPPに戻してphpMyAdminにアクセスしてデータベースをインポート。
※「xampp\mysql\data内のフォルダ、ファイル」をコピペするだけだとダメっぽい。
FuelPHPでエラー
再びブラウザでアクセスすると「composerが原因でエラー」とか言う。
CMD起動させてcomposerのアップデートしてもエラーが出る。
調べても分からず途方にくれながら、念のためブラウザでアクセスするとなぜかエラーがなくなっていた。
DBの種類
phpMyAdminで「mySQL」のバージョンを確認したら「mySQL」じゃなくて「MariaDB」となっている。
ココまで意識してなかったというか・・・気にしていなかった「MariaDB」。
XAMPPには「MariaDB」と「mySQL」の二つをインストするんだと思っていたので気にせずしていたんだけど違った。
以前は「XAMPP+mySQL」だったけど、今は「XAMPP+MariaDB」に変わっている。
自分で遊ぶだけなら気にしないんだけど・・・
「mySQLX.X以上」となっている仕様のテスト環境が欲しいので「MariaDB」だと困る。
「mySQLとMariaDBは、ほぼ一緒」って言われているっぽいけど「ほぼ一緒」ってコトは「予期せぬエラー」を引き起こしかねない。
XAMPPの再ダウンロード
2015年11月あたりから「MariaDB」になったらしいので2015年10月より前の「XAMPP」をダウンロードして差換えして完了。
「XAMPP+MySQL」は「5.6.12(2015年8月)」で最後っぽい。
XAMPPのバージョン
旧バージョンは「http://localhost/xampp」を開いた時に表示される左上に記載されているらしい。
確認しようとしたけど差換えてしまったので元に戻すのが面倒・・・HTMLファイルというかPHPファイルを確認すると「htdocs\xampp\.version」に記載されていた。見たら「1.8.1」。
今回いれたのは「5.6.12」。随分、差があると思ったら「1.8.3」の次からPHPのバージョンとXAMPPのバージョンが一緒になったそうだ。
あと「XAMPPのバージョン」と「XAMPPのコントロールパネルのバージョン」は別物っぽい。