このblogはどのぐらい役に立っているのか、と考えてしまうことがあります。できるだけ役に立てるよう、パイの広い話題を心がけているのですが、今回はかなり範囲の狭い、ニッチな話題です。
それでも情報が少なければ少ないほど、情報が少なくてたまたま私と同じような困ったことに合う方には役に立つのだ、と信じて書こうと思います。
Windows10でPHP5.2が動く開発環境を作るなんて、新しい革袋に古い酒を入れるような感じなのですが(^_^;。
MAMP Pro for Windows には5.2がない
私が業務をうけおっているお客さんには社内WebなどではまだPHP5.2環境で運用しているところが複数あります。ということで、新しいパソコンにもPHP5.2が動く開発環境が必要です。
今開発環境として使っているのは MAMP Pro for Windows です。PHPが複数のバージョンから選ぶことが気に入っているのですが、
Windows版のPHPは一番古いバージョンが、PHP5.3.23です。Mac版ならば、
PHPは5.1、5.2、5.3と古いバージョンもあるのですが、残念です。検索してみたのですがそもそもMAMP PRO Windows版を使っているユーザーがほとんどいないせいか、PHP5.2が動くようにするための情報は見つかりませんでした。
PHP5.3で試してみる
PHP5.2の環境で動いているシステムをPHP5.3環境で動かしてみました。すると、
Deprecated: Assigning the return value of new by reference is deprecated in C:\MAMP\htdocs\xxxx\html\modules\legacy\kernel\handler.php on line 37
というようなエラーがたくさん出て動きません。PHP5.3から 特定の機能が推奨されないことを示す
Deprecated
というエラーが追加されたようです。Deprecatedエラーチェックをしないようにする設定にもしてみたのですがエラーは出なくなってもシステムが正常には動きませんでした。
MacのPHP5.2で試してみる
そこで、、、無理だろうなぁと思いつつ、Mac版のPHP 5.2.17をダウンロードして C:\MAMP\bin\php に置いてみました。
HOSTSなどでPHP5.2が選べるようになりましたが、その時点でそもそもMAMPが正しく動かなくなってしまいました。インストールしたフォルダを削除して、httpd.confから追加したHOSTを削除してMAMPが動くように戻しました。
あきらめてxamppで行うことにしたけれど、ERR_CONNECTION_REFUSEDというエラー
ここまできてようやくMAMP Pro for Windows での環境構築をあきらめました。XAMPPのPHPが5.2のバージョンを入れればいいじゃないか、と思い直しました。
XAMPPとPHPの対照表を見つけ、
XAMPP version history: Apache, MySQL, and PHP
PHP5.2で一番新しい、XAMPP1.7.1を入れることにしました。古いXAMPPは
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/
sourceforgeのここから
XAMPP1.7.1をクリックして、
ダウンロードしました。ダウンロードしたzipを解凍し、xampp-win32-1.7.1というフォルダの中にxamppというフォルダがあります。これをcドライブの直下に移動して動かせばいい、と思ったのですが、cドライブを見ると既にxamppが入っていました(1ヶ月ぐらい前のことなのにきれいに忘れてます)。
おそらくMAMPで環境を構築しようと思ったけど、うまくできなくてxamppの新しいバージョンを入れたみたいです。でも今は使っていないのでMAMPでその後、うまく環境ができたようです。
一応そのバージョンも取っておこうと思って今解凍した方は、XAMPP52という名前に変更してcドライブの直下に移動。そして、xampp_start.exeを起動して、サイトを見てみたのですが
ERR_CONNECTION_REFUSED
というエラーが出てしまい、動きません。localhostだけで見てみてもこのエラーが出ます。。。
しばらく考えたのですが全くわからないので、以前入っていたxamppを_xamppとリネームして、xampp52としたフォルダをxamppにしました。
これで、あっさりとエラーが出ずに動きました。
これもすっかり忘れていたのですが複数のxamppを動かすにはフォルダー名だけでなく、内部のファイルも書き換える必要があった、のだと思います。
時間ができたら、旧PCの設定を見て複数のxamppが動くようにしたいなと思いつつ、今はPHP5.2が動くxamppのみがちゃんと動くようにしました。
やっとxamppが立ち上がったと思ったら、今度はphpMyAdminが…
htdocsにシステム一式をいれたので、ダンプしてあるDBをxampp環境にインポートしようと思います。いつもDBの作成はphpMyAdminから作っているので、http://localhost/phpmyadmin/ を開くと、また、エラーです(涙)
#1273 – Unknown collation: ‘utf8mb4_unicode_ci’
うーん。utf8mb4系は最近追加された文字コードなので古いphpMyAdminは認識できないのかなぁと思いますが、それにしてもどうして新しい文字コードによるエラーがでちゃうのでしょう。。。
とにかくこのエラーコードとメッセージを元に検索をしました。いくつか解決方法が見つかったのですが、どの方法を行っても解決しませんでした。
もう、データベースさえあればいいんだから、とこの時点でphpMyAdminを使うことをあきらめて、コマンドラインからデータベースを作ろうと思いました。
記事を書いている今、思ったのですがphpMyAdminだけ、新しいものにすれば良かったのかも?です。検索すると、
XAMPPのphpMyAdminを最新版にアップグレード – XAMPPの使い方
このような記事も見つかりました!後で時間ができたときに試したいと思います。
phpmyadminはいったんあきらめて、データベースをとにかく作り、、ようやく環境構築できました
ということでコマンドプロンプトでデータベースを作ります。
スタートキーをクリックして
ko と入力するとコマンドプロンプトが表示されます(これは私の場合でちゃんと コマンドプロンプト と入れれば確実に見つかるはずです)。コマンドプロンプトの上で右クリックして 管理者として実行 をクリックします(管理者として実行しないとデータベースが作れませんでした)
コマンドプロンプト画面になります。
cd c:\xampp\mysql\bin
と入力して、移動します。
mysql -u root -p
と入力してリターンし、パスワードは空なのでそのままリターンします。ここで
CREATE DATABASE `作りたいデータベースの名前` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
を入力してリターンするとデータベースが作成されます。文字コードはutf8_general_ciと指定します。
これでデータベースができたので
exit して、
mysql --default-character-set=utf8 -u root -p test_dbx < test_dbx.dump
このように文字コードを指定してインポートします。この場合、同じディレクトリにダンプしたファイルを置いてあるのでこのような入力ですが、同じディレクトリでないときはc:\からの絶対パスを指定する事になります。
これでWindows10でPHP5.2が動く開発環境が作成でき、やっと開発作業に入ることができました(^^)/
長い道のりでした。。
[amazon_searchlink]
コメント