XAMPP7.3環境にてPHP7とPHP5を切り替えて使う設定

バンドマンよ、語るより創ってくれ

前回のブログから8ヶ月ぶりです。

ご無沙汰しております。聖です。

早いもので私も入社して3年目になりました。

自分でも力がついたなと思う時がある反面。1つの事を理解すると、その先に30個ぐらい謎が増えるというゴキ〇リのようなこの世界。まだまだ勉強が足りないのを実感している次第であります。

PHPのバージョンが違う。。。

前置きはさておき、今日はタイトルの通り、開発環境について書きたいと思います。お世話になっている人も多いかと思われるXAMPP環境。

右も左も分からないまま最初にインストールした私の環境はPHP7。ところが、クライアントのサイトはPHP5。

CakePHPによる開発は、ブラウザ上でデバックできるので、大きな問題は無かったのですが。何か気持ち悪いですよね。

開発環境を整えなおしてみました。目標はXAMPPにPHP7とPHP5を共存させて、簡単な操作で切り替えられるようにする事!

いくつかのサイトを参考にしつつ設定できましたので書きたいと思います。

必要なファイルの準備

先ずは自分のXAMPP環境を確認します。

先述の通り、私の環境ではCドライブ直下のxamppファイル内にphp7.3がインストールされていました。

C:\xampp\php

自分のphpのバージョンが分からない方は、xamppコンパネからapacheを立ち上げた後、adminボタンをクリック、ブラウザ上右上のphpinfoをクリックしてみてください。上部にphpのバージョンが表示されるはずです。(この作業、今回は頻繁に行います。)

次にPHP5をダウンロードしましょう。下のリンクから適当なものを選んで下さい。

https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/

インストーラーとかは要らないです。既にxampp環境はあるので。32bitか64bitかは自分の環境に合わせてくださいね。

自分はこちらをDL。(xampp-windows-x64-5.6.40-1-VC11.zip)

ファイル名とフォルダ名を変更

ファイルを解凍したらphpファイルを取り出すのですが、フォルダ名が一緒だとマズいので、いろいろ変更します。

7.3のphpフォルダ名

C:\xampp\phpのフォルダ名をC:\xampp\php73に変更

7.3のhttpd-xampp.confファイル

C:\xampp\apache\conf\extra\httpd-xampp.confのファイル名を
C:\xampp\apache\conf\extra\httpd-xampp.conf73に変更

5.6の必要なファイルとフォルダだけ移動

先にDLしてるxampp-windows-x64-5.6.40-1-VC11.zipを解凍する。

5.6のphpフォルダ名を変更して移動

解凍フォルダ\xampp\phpのフォルダ名を
解凍フォルダ\xampp\php56に変更して
C:\xampp\php56に移動

5.6のhttpd-xampp.confファイル名を変更して移動

解凍フォルダ\xampp\apache\conf\extra\httpd-xampp.confのファイル名を
解凍フォルダ\xampp\apache\conf\extra\httpd-xampp.conf56に変更して
C:\xampp\apache\conf\extra\httpd-xampp.conf56に移動

バッチファイルの作成

下のような感じでバッチファイルを作成してください。

ファイル名:C:\xampp\php_ver_chenge.bat

echo.
echo phpのバージョンを確認します。
echo.
php -v
echo.
echo 1: PHP 5.6
echo 2: PHP 7.3
echo C: Cancel
echo.
echo 現在のバージョンを変更する場合は1~2を選択してください。

choice /c 12C /M "Choose the version of PHP."
echo %errorlevel%
if %errorlevel% equ 1 goto PHP_56
if %errorlevel% equ 2 goto PHP_73
goto OnExit

:PHP_56
echo php5.6に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp56.conf
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php56
goto OnExit

:PHP_73
echo php7.3に変更します。
del C:\xampp\apache\conf\extra\httpd-xampp.conf
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp73.conf
rmdir C:\xampp\php
mklink /D C:\xampp\php C:\xampp\php73
goto OnExit

:OnExit

作成したバッチファイルは管理者権限で実行してください。

xamppコンパネのApacheを切ってから、バッチファイル起動、1か2を押せばPHPが切り替わるように出来てます。やってることはシンボリックリンクを作り直しているだけです。

足りないファイル

xampp¥php56¥にある

libeay32.dllssleay32.dll ファイルを

xampp¥apache¥bin¥にコピーしてください。

apache起動時にこれが足りないよと言われる可能性があります。

xamppファイルの管理者権限

ここまで来ると、コントロールパネルを管理者権限で開いて、apacheを起動すれば、バッチファイルで設定したPHPのバージョンに変更出来るようになっています。(PHPバージョンの確認方法は上記に記載)。

使用の都度、管理者権限で開くのもメンドクサイので、私はxamppフォルダへのユーザー権限の設定を変更しました。

XAMPPフォルダを右クリックしてプロパティを表示。セキュリティタブのユーザーにフルコントロール権限にチェックを入れ、適用とOKボタン。

これで、設定は完了です。お疲れ様でした。

おわりに

この一年で外回りのお仕事が多くなりました。

お客様の所で、様々な業務を見させて頂くと、知見が広がり大変勉強になります。

そういった業務に弊社のシステム開発によって、少しでも貢献出来たとき。そして、お客様から「ありがとうございます。」と言われたとき。

お金では代えられないものを、受け取れたことに、この仕事のやりがいを感じます。

今後ともどうぞよろしくお願いします。

それでは。

聖。