MacOS初期化後のLaravel開発環境とMAMPのエラー解決方法!
Macを初期化して新しく開発環境を作った際に、今までのデータを開いて発生したエラーをまとめます。
この記事で解決できることは、MAMPのエラー、Laravelの開発データ移行後のエラーです。
原因
前提として、このトラブルが起きた経緯についてです。
私は、MacBook Proを開発に使用しているのですが、Mac OSのバージョンアップをした途端、普段使っているアプリケーションの動作が重くなり、ダウングレードをしました。
Time Machineによるバックアップを取っておけば良かったのですが、Time Machineはあまり活用していなかったこともあり、HDD(ハードディスク)に頼っていました。
(ただし、Macをお使いの方であれば、アップデート前には必ずTime Machineによるバックアップは取っておいたほうが、ダウングレードの時間も短縮できるのでオススメいたします。)
私はパソコンと場所を選ばないような開発を行うことを前提にデータ管理をしています。
そのため、HDDにデータ移行を完了させてMacBook Proを初期化。
出荷状態から開発を始めることに決めました。
より綺麗な状態の開発環境が欲しかったということもあります。
キャッシュ増加やプログラミング学習当初に訳も分からず、沢山の不要データをダウンロードしていたこともあったので、動作が重くなっていました(汗)
無事に、Mac OSのMojaveにダウングレードが完了し、HDDから退避させていた様々なバックアップファイルを再度MacBook Proへ移動しました。
準備が整ったので、開発を進めようと思い、ファイルデータを開くのですが、様々な問題が発生します。
結論から言うと、一つ一つ解決することで問題は取り除けましたので、その際に対処した方法をまとめています。
MAMPを新しいパソコンに移動させたら起きる問題の解決方法!
開発にMAMPを使っているのですが、いつも通り起動させて『Start servers』を押しました。
自動的にブラウザに『http://localhost:8888/MAMP/?language=English』が表示され、TOOLS→PHPMYADMINを開きますが、ここで問題が発生しました。
Wrong permissions on configuration file, should not be world writable!
日本語に訳すと、
設定ファイルのパーミッションが正しくありません。誰でも書き込み可能になっています!
と言うエラーが表示されます。
この解決方法はいたってシンプルです。
MAMPがFinderのアプリケーションに保存されている場合。
Application/MAMP/bin/phpMyadmin/
の先にあるconfig.inc.phpを右クリックで『情報を見る』を選択して表示します。
一番下にある、『共有とアクセス権』の項目を確認します。
everyoneが『読み/書き』となっていた場合は、鍵を解除して、『読み出しのみ』に変更します。
再度、MAMPを起動させていきます。
通常『http://localhost:8888/phpMyAdmin/?lang=en』のリンクが開かれるのですが、エラーが発生した場合は、『http://localhost:8888/phpMyAdmin/』を開きます。
正常にphpMyadminの管理画面が表示されます。
そして、しばらく経過すると、MAMP画面から通常開かれる『http://localhost:8888/phpMyAdmin/?lang=en』のリンクからでもエラーが発生せずに表示されるようになります。
新しい開発環境にMAMPをデータ移行した際には、この方法を活用しましょう!
Laravelをphp artisan serveさせたらエラーが出てしまう場合の解決方法
Laravelの開発データを新しいパソコンに移動させて、開発スタートしようとしたらエラーがでるという場合の解決方法です。
ErrorException file_put_contents(xxxxx): failed to open stream: No such file or directory
↑(xxxxx)には、人それぞれ異なるURLが入ります。
パスが通らないというエラーですので、キャッシュをクリアさせます。
ターミナルから、開発データを参照し、
php artisan config:cache
これだけでOK!
いつも通り、http://127.0.0.1:8000/
のローカルホストの環境で、正常に表示されたら大丈夫です!
LaravelでGmailを自動返信メールに設定していた場合は再設定が必要!
初期化をしたMacBook Proはまさしく新品同様なので、今までの設定は全て初期化されます。
つまり、Google Chromeも再インストールするため、それぞれの端末毎に設定していた項目も初期化されるのです。
Laravelの開発で、Gmailを使用して自動返信メールの実装をした際には、必ず『安全性の低いアプリのアクセス』を無効にする必要があります。
これをしないと、ローカルの開発環境からメールを送信してもエラーが吐き出されます。
Failed to authenticate on SMTP server with username …
このエラーを解決するためには、設定した送信したいGoogleアカウントの『安全性の低いアプリのアクセス』を無効にすることで解決します、
https://myaccount.google.com/u/1/lesssecureapps?pageId=none (opens in a new tab)
このURLでスイッチを設定して無効に設定すれば完了です。
これらのエラーを対処する前に、設定を変更しておくことで、エラー発生を未然に防げます。
もし、新しい環境で開発を再スタートされる場合は、この記事が役立つかと思いますので、参考にしてみてください!