phpファイルが表示しない
PCを買い替えて(MacOS Monterey(M1チップ))
MAMPでphpのお勉強をしようとしたら、表示しなくなった
解決できた参考サイト
知らなかった・・・
OS X 10.11 El Capitanより追加されたセキュリティ機能、SIP(System Integrity Protection)によって以下の領域がガードされています。
/bin
/sbin
/System
この配下では,rootユーザでも書き込みできません。
解決にいたるまで
このページは動作していません
localhostでは現在この処理を操作できません
HTTP ERROR 500
①MAMPの設定(Preferences)の確認 ←問題なさそう
・Apache Port:80
・Nginx Port:80
・MySQL Port:3306
・Document root も確認した。
②ファイルを開いているURLのパスの確認 ←問題なさそう
んー、今まで通りの設定にしたはずなんだが・・・
③エラーメッセージの表示 ←おっ!
すると、以下のようなエラーメッセージ ←パスとパーミッションが通ってなさそう!
Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
Fatal error: Unknown: Failed opening required
'/Users/(ユーザー名)/(パス)/index.php' (include_path='.:/Applications/MAMP/bin/php/php7.4.21/lib/php') in Unknown on line 0
※phpのバージョンは各々で。自分は、この時のphpのバージョンは7.4.21
[参考]
④phpのパスを確認
$ which php
すると
php not found
パスが通ってなかったのか
export PATH=/Applications/MAMP/bin/php/php7.4.21/bin:$PATH
設定を反映させる
$ source ~/.bash_profile
$ which php
すると、
/Applications/MAMP/bin/php/php7.4.21/bin/php
期待して、ブラウザに表示させるが、「Operation not permitted」
んー??
[参考]
⑤やはり、パーミッション?
参考にさせていただいたMAMPの環境構築より、
$ sudo mv /usr/bin/vim /usr/bin/old_vim
してみると、
mv: rename /usr/bin/vim to /usr/bin/old_vim: Operation not permitted
んんん?? 参考ページどおりにいかないんだが・・・
どこか、セキュリティ機能が効いてる???
⑥セキュリティ機能の確認 ←ここだった!
[参考]
・Macを一度シャットダウン。
・起動時に電源ボタンを10秒間以上長押し。
(※Intel Macの場合は、command + R だが、M1チップのMacの場合は、電源長押しなので注意)
しばらくするとリカバリーモードが起動
・メニューバーの「ユーティリティ」からターミナルを選択
$ csrutil status
ステータスを確認すると、
System Integrity Protection status: enabled.
「enabled」を「disabled」に変える
$ csrutil disable
ステータスを確認すると、
$ csrutil status
System Integrity Protection status: disabled.
System Integrity Protection (SIP) が無効になったので、再起動する
$ reboot
これで、ブラウザにphpファイルが表示されるようになりました!!
thanks! 今回の参考サイト
MAMPでエラーメッセージを表示させる方法【php.iniの変更】
MAMPの環境構築
初心者向け MacでOperation not permittedの解決方法