学習したことを記録していきます!

アウトプットをするためのブログです。

MAMP が起動できないときの対処方法とメールの環境設定について(for Windows)

f:id:out-to-put:20200724215852j:plain

Windows 環境下でMamp を使っていてググっても解決策がすぐに見つからず、時間を使ってしまったところをまとめました。

環境

Windows10 Pro

MySQL Serverの起動に関して

発生しているエラー

MAMPをスタートした際、MySQL Server のランプが点灯しない。 log(php_error)を確認しても、Windows EventLogに関するもの以上の情報を得られず、苦戦しました。

解決策

以下のサイトを参考にさせていただき、 C:\MAMP\db\mysql 直下の"mysql-bin." で始まるファイルを削除をしてから、MAMPを再起動することで、上記エラーを解決することができました。

参考にしたサイト

hekexi.net

備考

毎回、この方法で起動できるようになるものの、定期的に、MySQL Server が起動できなくなることがあり、都度の対応が必要になっていて根本的な解決にはいたっていません。

ローカル環境でGメールの送信に関して

発生しているエラー

メール送信処理完了後、着信を確認できない。

解決策

環境設定の見直し
php.ini
  1. 参照しているphp.iniを確認
  2. MAMPの起動画面にある、”Open WebStart page" のボタンから、MAMPのTOPページに移動して、phpInfoを確認。

  3. phpInfoのLoaded Configuration Fileの項目から、MAMPで起動しているPHPが参照しているphp.iniを確認して、該当のphp.iniを開いて以下の項目を修正。

[mail function]
; For Win32 only.
SMTP = smtp.gmail.com
smtp_port = 587

; For Win32 only.
sendmail_from = youraddress@gmail.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "\"C:\MAMP\sendmail\sendmail.exe\" -t -i"


sendmail.ini
  1. ダウンロードサイトfake sendmail for windowsから、Sendmailをダウンロードし、解凍したフォルダを上記、php.iniのsendmail_pathのかたちになるように置きます。
  2. 上記で設置したフォルダ内にあるsendmail.iniを開き、以下の項目を修正、もしくは、設定済みの場合は、そのまま。
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=auto

error_logfile=error.log

auth_username=youraddress@gmail.com
auth_password=アプリパスワード

force_sender=relay.mail.center@gmail.com


Gmail
  1. Googleアカウントの管理からセキュリティの項目のなかにある アプリパスワードを設定で、アプリパスワードを作成し、作成したパスワードをsendmail.iniのauth_passwordに設定
  2. MAMPの再起動後、メール送信テストを行って無事着信できていれば、環境設定完了です。

参考にしたサイト

meetanshi.com

備考

sendmail の設定方法について、様々な解説をみて試したものの、送信テストを完了することができないでおりました。 上記、サイトを参考にしたところ、送信することができるようになりましたが、多くのサイトと異なる点は、php.iniのFor Win32 onlyの項目を設定している点でした。

なぜ、この項目を設定することで処理がとおるようになったのか、今後、学習していけたらと思います。

まとめ

Windowsの環境では、XAMPPの説明がほとんどで、だいぶ試行錯誤しました。Macで時短を図るのも合理的だなとあらためて思いました。