XAMPPのphpを7.4にするときApacheが起動できない場合の対策

執筆者:

カテゴリ:

ずっとXAMPPを使ってローカルでコーディングを行ってるんですが、そろそろphpアップデートするかいっつってアップデートしようとしたらApacheが起動しなくて躓いたときの話。

なんとか解決しました。




問題

XAMPPのサイトから、最新版のphpをダウンロードして、現在のphpと入れ替える。

基本はこれだけでいいんですが、僕の場合は入れ替えたあとにApacheを起動しようとすると、

Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies, 
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums

こんなエラーが…

「なんかよくわからんけどだめっぽいから、エラーログ見てね」というエラー文らしい。ここでは教えてくれないのね

というわけで、下の画像にあるボタンをクリックして、Apacheのエラーログを確認。

するとこんなエラーが。

PHP Warning:  'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0

どうも「vcruntime140.dll」というファイルが現在のphpと合いませんよと言われているらしい。vcruntime140.dllは、phpを動かすために必要なランタイムパッケージとのこと。

 

そこでまず、こちらの記事で紹介されているように、Vidual Studio C++再頒布可能パッケージをインストールしてみた。

https://qiita.com/ricchan_k/items/5b05851a351d3d590f34

しかし、動かず…エラーも同じである。これはたぶんWindows全体の話であって、xamppの中の小さな世界で使われているvcruntime140.dllはまた別のものなんだろうなと思った。

 

次に、こちらの記事で

https://labor.ewigleere.net/2020/02/24/xampp-php-update/

xampp/apache/bunの中にあるvcruntime140.dllを、別のアプリケーションで使われているvcruntime140.dllと入れ替える」と書かれていて、そんなことができるんですかと思って試しにCドライブをvcruntime140.dllで検索、そして適当にOneDriveの中にあったvcruntime140.dllと入れ替え。

まさかこれで動かんよなーと思ってApache起動してみると…

 

動いた。

 

まとめ

・とりあえず、エラーログを見ましょう。
・”PHP Warning: ‘vcruntime140.dll’ 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0″と言われた場合、他のアプリケーションからvcruntime140.dll を持ってきて、xampp/apache/binの中にあるvcruntime140.dllと入れ替えましょう。

 

現場からは以上です。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です