test.phpはファイルをLeopardファイルシステムに出力できません
-
07-07-2019 - |
質問
test.phpがmacosファイルシステムにファイルを書き込めるようにするために、追加する必要のあるパーミッションを知っているかもしれません
PHP Error: <br />
<b>Warning</b>: file_put_contents(20090915203127.jpg) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in <b>/Library/WebServer/Documents/testphp/test.php</b> on line <b>8</b><br />
ERROR: Failed to write data to 20090915203127.jpg, check permissions
これはleopardで発生するエラーです。test.phpのugo + xをすでにchmodしています
解決
私が知る限り、/ Libraryに直接書き込むにはルート権限が必要です。このディレクトリへの書き込みは絶対に必要ですか?
自分のアカウントにファイルを書き込むだけの場合、/ Users / accountnameの下で動作するはずです(ただし、phpスクリプトを実行しているユーザーによって異なります)。
他のヒント
許可が必要なのはファイルではなく、PHPを実行するプロセスです。 (Snow)Leopardをデフォルトの状態で使用していると仮定すると、_wwwユーザーに特定のディレクトリへの書き込み権限を与えるか、または世界の書き込みアクセス権を与える必要があります(あまり好ましくないアイデアです)。これらの両方は、chownとchmodの組み合わせで実現できます。
スクリプトを実行しているユーザーが、書き込みを試みるファイル(PHPスクリプトではなく、 20090915203127.jpg
)への書き込みを許可されていることを確認する必要があります。 20090915203127.jpg
が存在しない場合、ファイルの書き込み先ディレクトリが書き込み可能であることを確認する必要があります(デフォルトでは現在の作業ディレクトリになります)。
chmod について読む必要がある場合があります。
ターゲットファイル/ディレクトリをWebサーバーに書き込み可能にする必要があります。 test.phpはそれに含まれていません...