とっても今更ですが、そろそろPHPをバージョンアップ(5→7)せねば、と思ったサイトがありまして。検証するにもローカルをどうしよう?と考えました。
もともと、XAMPPをローカルにインストールしてテストサイトを置いていました。
そのXAMPPのPHPをアップデートする、ということも考えましたがあんまり推奨されてないみたい。実際やってみてもうまく行きませんでした。
というわけで、2つ目のXAMPPをインストールすることに。
最初に参考にさせていただいたのはこちらのサイト。
2つのXAMPPを任意の名前のフォルダでインストールして、表示させるときはシンボリックリンクを作成する、というもの。
結果から言って、私の場合、上記のやり方ではうまくいきませんでした。私の技術が拙いせいか…。
シンボリックリンクでの切替がどうもうまくいかない…。
終了させたはずのApacheやMySQLが実は終了していなかったりして、XAMPPの再起動だけじゃなく、OSを再起動して試してもダメで…みたいなことを何度も繰り返しました。
先程の記事を参考に、シンボリックリンク切替のためにbatファイルを初めて作ってみたんですが、やはり私の拙い技術のせいかうまく動かず。毎回バージョンの切替をする時にはXAMPPを終了させた後、コマンドプロンプトで「シンボリックリンクを削除」→「表示させたいフォルダのシンボリックリンクを作成」みたいなことをやってて疲れました。おかげでコマンドプロンプトに少しだけ慣れることができましたけど。。
と、いうわけで別の方法を取ることにしました。
ApacheとMySQLのポート番号を変更してあげる、というものです。
参考にしたのはこちらのサイト。
こちらでは、XAMPPがインストールしてあるPCに追加でインストール、ということをしています。私のPCではすでに最初のXAMPPはアンインストールしてしまっていたので今まで入れていたものと同じ、XAMPP(PHP5)を入れるところから始めました。
素直にインストールするだけで良かったのに、何を思ったか、「こいつもポートを変えちゃおう」とごにょごにょやってしまいました。これが失敗。。
というのも、ポートを変更した場合、ローカルで表示する時は「http://localhost:8080/index.html」みたいに、ポート番号を入れないといけない、ということだったので、「わかりやすいように番号をphpのバージョンにしちゃおう」と思ったのがきっかけです。
1 2 3 4 5 |
PHPバージョン5.3.8のXAMPP http://localhost:538/ PHPバージョン7.3.2のXAMPP http://localhost:732/ |
という風にしたかったんです。
ですがなかなかうまくいかない。どっちかのApacheやMyQSLが起動しなかったり、どっちかのMySQLを終了させるともう一方のMySQLも終了しちゃったり…。もしかしたら片方ずつ起動したら良かったのかもしれないけど、このやり方だったら同時に別バージョンのPHPで動くサイトにアクセスできるはず、と考えていたのでした。
なんとなくの感覚ですが、PHP5.3.8のポート変更がうまく行ってないような感じがしたので、5.3.8の方は通常のポートでインストールすることにしました。なので先程の記事のように、予めXAMPPがインストールされているPCに新たにXAMPPを追加する、という流れになりますね。(最初っからこうすれば良かったのに。。)
まずはXAMPP ver1.7.7(PHP5.3.8)をダウンロード。私はインストーラ(xampp-win32-1.7.7-VC9-installer.exe)を使いました。
私の場合Dドライブにデータを置いてるので D:\xampp にインストールしました。
もちろん今回はポートの変更はせず、データベースの設定や文字化けする管理画面の修正だけやりました。
詳しくは書きませんがこういうことをやりました。
XAMPPセキュリティページの文字化け対応
phpMyAdmin ログイン画面でのエラー対応
で、一通りこのXAMPPの挙動を確認。WordPressをインストールして、サイトの確認も完了して問題なさそうだったので、次の段階へ。
次はXAMPP ver7.3.2(PHP7.3.2)をダウンロード。ここでもインストーラ(xampp-windows-x64-7.3.2-2-VC15-installer.exe)を使いました。
今度はフォルダ名を変更してインストール。(D:\xampp_php732)
そして先程ご紹介したサイトを参考にポート番号を変更していきます。
ポート番号は下記のように変更しました。
80 → 732
443 → 4437
3306 → 33067
これで、それぞれ別のポートを使っているから大丈夫なはず!だったんですが、これでもまだMySQLが連動してしまう問題が発生しました。
そして調べているとこの記事を発見!
XAMPP Control Panelの右上[Config]ボタン
↓
Configuration of Control Panelの[Service and Port Settings]ボタン
で各アプリのポート番号が変更できる、とのこと。
こんなところにこんな設定画面が…。
この設定画面のApacheとMySQLタブ内のポート番号を変更してSave。他にもTomcatやらのポート番号とかあるけど変えなくていいのかなぁ、と思いつつ、動作確認してみるとこれがバッチリ動きました!
もしかしたら、今までのあれやこれやもこの設定を変えればうまく行っていたのかも…という考えも過りましたが、疲れたので検証はまたいつの日か…。とにかく希望通りに動いているので良しとしました。
最後にPHP7.3.2の方にWordPressをインストールしようとしたのですが、この時、データベースのホスト名を変更する必要があるので要注意です。
通常、データベースのホスト名は「localhost」ですが、今回ポートを変更してアクセス先が変わっています。MySQLのポート番号を加え「localhost:XXXXX」としないとエラーとなりWordPressがインストールできません。
以上、試行錯誤しながらなんとかXAMPPを複数インストールしたお話でした。