0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MAMPでPHPのバージョンを切り替えようとすると落ちる

Posted at

概要

windowsでMAMP使っていて、
PHPのバージョン切り替えようとした際に、MAMPが落ちてしまう現象があったので対処方法を記載します。

前提

無料版のMAMPは内部的いくつかPHPのバージョンを持っておりますが、アプリ上では2つまでしか選択できません。
その場合は、以下のファイルパスにある使っていないphpのフォルダ名を一時的に変更すると使えるようになります。
C:\MAMP\bin\php

私の場合は、アンダーバーでフォルダ名に入れて以下のような形にしています。(MAMPは最新のPHPから最大2つまで読み込みます)
qiita
上記の場合だと、PHP7.4.1と7.2.14がMAMPのアプリ上で切り替えられます。

現象

php7.3を使おうとフォルダ名を以下のようにしました。
しかし、MAMPを起動するとサーバーやDBのランプが点灯せず、アプリが落ちるような現象になっていました。

qiita

対処法

MAMPのアプリを一度落としてから
confにあるC:\MAMP\conf\apache\httpd.conf内にあるAdditional libraries部分を修正することで起動するようになります。

実際にhttpd.confの60行目あたりを見ますと、
おそらく今利用しているPHPのバージョンが読み込まれて、以下のような感じになっていると思います。

# Example:
# LoadModule foo_module modules/mod_foo.so
#
#
# Additional libraries
#
LoadFile "C:/MAMP/bin/php/php7.2.14/libssh2.dll"
LoadFile "C:/MAMP/bin/php/php7.2.14/libcrypto-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.2.14/libssl-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.2.14/nghttp2.dll"
# End Additional libraries
#
#
# Additional libraries
#
LoadFile "C:/MAMP/bin/php/php7.4.1/libssh2.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libcrypto-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libssl-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/nghttp2.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libsqlite3.dll"
# End Additional libraries
#

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
・
・

このAdditional librariesで使わないバージョン部分は消します。

# Example:
# LoadModule foo_module modules/mod_foo.so
#
#
# Additional libraries
#
LoadFile "C:/MAMP/bin/php/php7.4.1/libssh2.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libcrypto-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libssl-1_1.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/nghttp2.dll"
LoadFile "C:/MAMP/bin/php/php7.4.1/libsqlite3.dll"
# End Additional libraries
#

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
・
・

このようにして上書き保存してMAMPを再起動します。
そうすると私の場合は無事起動するようになりました。

どうも無料版は設定ファイルに2種類以上のバージョンのモジュールが読み込まれるとダメみたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?