0

サーバー上のフォルダーに (一時フォルダーから) ファイルを保存しようとすると、コードの move_uploaded_file() 関数でアクセス許可拒否エラーが発生します。

私のユーザーは、すべての Web サイトのディレクトリとファイルに対して完全な権限を持っています。パーミッションも必要な apache ユーザーはいますか? この apache ユーザーにアクセス許可を与えるにはどうすればよいですか?

そうでない場合。php の chmod 関数を使用してこの問題を解決する方法はありますか?

助けてくれてありがとう!

4

2 に答える 2

0

あなたは正しいです。ファイルを移動する必要があるフォルダーには、アクセス許可が必要ではなく、Web サーバーにアクセス許可が必要です。

基本的に、Web サーバーが実行されているアカウントを特定し、そのユーザーに宛先ディレクトリへの書き込み権限を与える必要があります。

Web サーバーのアカウント名を確認するには、次のコマンドを試してください (Linux を実行していると仮定します)。

sudo lsof -i tcp:80

USER 列を含む一連の行が返されるはずです。1つはルートになります。それは無視してください。リストされている他のユーザーは、Web サーバーを実行しているユーザーです。おそらく、www、www-data、apache などのようなものです。

その後、アップロード ディレクトリの親ディレクトリに移動し、次のコマンドでその所有権と権限を変更します。

sudo chown www-data:www-data uploads
sudo chmod u+w uploads

その時点で、ウェブサーバー ユーザーはアップロード ディレクトリへの書き込みアクセス権を持っています。何か問題がある場合は、コメントを投稿してください。私が助けようとします。

于 2012-06-21T02:46:06.507 に答える
-1

フォルダーに777のアクセス許可を与えたと思いますか?フォルダにはそれらの権限が必要です。

于 2012-06-21T02:42:16.593 に答える