PHPを使いたくなってHomebrewでインストールするか迷ったけど、MAMP (ver. 7.2)を使うことにしました。もともとMAMPは持っていましたがバージョンが古かったので新たにインストールし直してPHPの8.xも使えるようにしたかったのです。
ところが、新しいバージョンをインストール後に起動してみると、古いバージョンでは開けていたスタートページが開けなくなってました。
こんな感じで、「WebStart」ボタンが無効化されててクリックできません。Preferencesから「My favorite link:」に「http://localhost:8888/」を入力してみたけど、変化なし。
「mamp webstart 押せない」でググってみると再起動で直ったという情報もありますが何度か再起動してもダメだったという話もあります。Port番号をデフォルトに戻すという方法もありましたが、最初からデフォルトでした。
ここでふと思ったのが、なぜこのケースではPort番号を変えることで直ったのだろうということ。Apacheが起動しているのはわかってますが、もしかしてMySQLが起動していないのではないかなと推測して、「Mac MAMP MySQL 起動しない」で再検索。というか、正確にはさっきの検索時に「他の人はこちらも検索」でリストアップされてました。
で、見つけたのが「【MAMP(サーバ)が起動しない】※Startを押しても緑色ではなく、黄色に変化する現象について #PHP – Qiita」。ボタンの色はあまり意識してなかったのですが、言われてみれば確かに黄色でした(上のスクショ参照)。
早速、この情報に基づいてやってみます。
まず「使いたいポート番号を既に使用しているサーバを検索(grep)し、接続を切断」。
MAMPを終了させてから、Terminal.appです。
ps aux | grep mysql
macuser 45918 0.0 0.0 411299136 2848 ?? S 12:52PM 0:02.27 /Applications/MAMP/Library/bin/mysqld --basedir=/Applications/MAMP/Library --datadir=/Applications/MAMP/db/mysql57 --plugin-dir=/Applications/MAMP/Library/lib/plugin --log-error=/Applications/MAMP/logs/mysql_error.log --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=8889
macuser 45807 0.0 0.0 410603792 320 ?? S 12:52PM 0:00.02 /bin/sh /Applications/MAMP/Library/bin/mysqld_safe --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error.log
macuser 67696 0.0 0.0 410742544 1760 s002 S+ 3:04PM 0:00.00 grep mysql
入力したコマンドは一番上のps aux | grep mysql
です。その結果3つ返ってきて、上2つが怪しい。で、これらをkill
します。sudo kill -TERM プロセスID
、です。
sudo kill -TERM 45918
ですぐに制御が返ってきたので続けて sudo kill -TERM 45807
したところ kill: 45807: No such process
などど言われてしまいました。45918
を kill したときに同時に葬られたのではないかと推測されます。
で、一応終了を確認(元ページにはない過程です)。
ps aux | grep mysql
macuser 67731 0.0 0.0 410724112 1440 s002 S+ 3:07PM 0:00.01 grep mysql
怪しいふたつのプロセスは確かにもうありません。次に、mysqlへの接続を確認。
mysql -uroot
zsh: command not found: mysql
…そうスか。まぁいいや。 これでMAMP.appを起動してみると… いけました! ちゃんとスタートページが開かれました。
「ポートの占有」、これがキモですね。再起動やらなにやらでたまたま占有が解けたケースもあったってことでしょう。今回は、古いMAMPを起動したあとで正常に終了できなかったとかそういうような原因ではなかったかと思われます。 オレの場合はMAMP以外でMySQLをインストールしてないから余計に解決しやすかったとも思います。元ページではまだこのあと対処のための操作が続きますので、最初の段階で解決できたのは良かったです。
助かりました!
コメント