XAMPPでPHP7.4にバージョンアップできない時の解決法【Laravel8の準備】

Laravelバージョンアップ・ニュース

Laravel8では、PHPのバージョンは7.3以上が必要になります。

私の使っているXAMPPは PHP7.2であったため、バージョンアップが必要でした。

そこでphp公式サイト(php.net)からフォルダをダウンロードして、バージョンアップしようとしました。

ですが「Attempting to start Apache service…」となったまま、動作せず。

 

じゅんこ
じゅんこ

試行錯誤で時間を無駄にしました。

その後、 Xamppの公式サイトからPHPフォルダをダウンロードしてみたところ、バージョンアップがすぐ成功!

phpのバージョンアップがうまくいかず悩んでいたら、次の方法を試してみてくださいね。

XAMPPでPHP7.4にバージョンアップできない時の解決法

私がPHP7.2→7.4にバージョンアップした方法を解説していきます。

①XAMPPのバージョンをチェック

まずはご使用のバージョンをチェックしておきましょう。
XAMPPを起動し、【shell】をクリック。


コマンドで php -v と入力すると、表示されます。


私のphpはバージョンは7.2.32でした。

②XAMPPの×マークをチェックマークに

これは不要かもしれませんが、念のため。

下記のように×マークになっていたら、クリックしてください。

なお、この部分が下記のようにグレーの場合には、XAMPPが管理者権限で実行されていません。

下記を参考に、まずは管理者権限で実行するよう、設定を変更してください。

赤い×マークになっている場合には、クリックすると、緑色に変わります。

こうしておくと、Windowsを再起動したときに、ApacheとMySQLが起動してくれます。

この後、QUITボタンを押して、XAMPPはいったん閉じましょう。

③ XAMPPのインストールファイルをダウンロード

XAMPP公式サイトから、OSに合わせてダウンロードしてください。

私はWindowsを使っているので、【XAMPP Windows】ボタンを押しました。

そのあとの画面で一番上のバージョンを選択。

次の画面で、xampp-windows-x64-7.4.10-0-VC15.zipをクリック。

ZIPをダウンロードします。

④PHPフォルダを入れ替える

現在XAMPPが入っているフォルダを開きます。

その中のPHPフォルダを入れ替えます。

古いものも、バックアップ用に名前を変更して残しておきましょう。

その後、③でダウンロードしたXAMPPファイルの中から、PHPフォルダだけをいれます。

新しくいれたフォルダの名前を【PHP】としましょう。

⑤PHP iniファイルを修正

PHPフォルダのなかのPHP.iniファイルを修正します。

これまで使っていたPHPフォルダ内のPHP.iniファイルと、新しいPHPフォルダ内のPHP.iniファイルを比べてみてください。

古いほうにだけはいっているコードで、必要なものは新しいファイルに貼り付けます。

じゅんこ
じゅんこ

PHP.iniファイルをあまり編集していない場合は、この項目は不要かと思います。

逆に色々編集した場合は大変かも。差分ツールなど使うとラクになります。

⑥XAMPPを再起動

XAMPPを再起動します。

ApacheとMySQLのStartボタンを押して、無事立ち上がるかチェックしてください。

PHPMyAdminもログインして、無事にデータベースが開けるかチェックしてください。

なおPHPMyAdminのトップページ右側の【ウェブサーバー】には、新しいPHPのバージョンが掲載されています。

おまけ:PHP公式サイトからダウンロードするとうまくいかない理由

最後に、なぜPHP公式サイトからダウンロードした場合にはうまくいきにくいのか。

理由を考えてみます。

PHP公式サイトからダウンロードするPHPには、XAMPPとの互換性は反映されていないと推察されます。

一方、XAMPPサイトからダウンロードするPHPには、当然XAMPPとの互換性が反映されている。

このためにエラーが起きにくいのでは、と推測できます。

ちなみにPHP公式サイトからダウンロードしたPHPフォルダの中には、PHP.iniファイルが入っていませんでした。

このあたりからも、両者の違いを感じます。

さいごに

無事PHPもアップロードできたので、Laravelのバージョンアップに進んでいきます。

同じようにLaravelのバージョンをアップしたい方は、この後に記事も読んでくださいね。

コメント

タイトルとURLをコピーしました