私のサイトのローカルバージョンのフォルダのリンクを解除しようとしています。
エラーが発生します:
operation not permitted
リンクを解除してローカルマシンで動作させる方法はありますか?MAMPを使用しています。
私のサイトのローカルバージョンのフォルダのリンクを解除しようとしています。
エラーが発生します:
operation not permitted
リンクを解除してローカルマシンで動作させる方法はありますか?MAMPを使用しています。
これは、スクリプトがフォルダーを削除することを許可されていないことを意味します。これにはさまざまな理由が考えられます。最も可能性が高いのはunlink()
、フォルダrmdir()
を削除するのではなく、削除しようとしている場合です。
unlink(2)
man ページの「操作が許可されていません」(EPERM) の考えられる理由は次のとおりです。
EPERM システムがディレクトリのリンク解除を許可していないか、ディレクトリのリンク解除には、呼び出しプロセスが持っていない権限が必要です。(これは POSIX 規定のエラー リターン
です。前述のように、Linux はこの場合 EISDIR を返します。)
EPERM (Linux のみ) ファイル システムは、ファイルのリンク解除を許可しません。EPERM または EACCES pathname を含むディレクトリにスティッキー ビット (S_ISVTX) が設定されており、プロセスの有効な UID が、削除するファイルの UID でも、それを含むディレクトリの UID でもない。プロセスに特権がない
(Linux: CAP_FOWNER 機能)。
これは権限の問題です。
CHMOD 666のように、リンクを解除したいファイルに許可を与えてみてください。
おそらく自分でファイルを作成し、PHP (自分と別のユーザー、おそらく MAMP のインストール方法に応じて Apache または www-data) にファイルを削除してもらいたいと考えています。適切な権限がなければ、これを行うことはできません。