私はPHPでchmod関数を使って一時的に777に権限を変更し、ファイルをアップロードしてから755に戻そうとしました。しかし、私はPHPを介してchmod関数を使用することはできません。フォルダのアクセス権を変更せずにWebサーバーにアクセス権を与える
if(chmod($path, 0777)) {
if(!move_uploaded_file($oldfile, $newfileloc)) {
return false;
}
chmod($path, 0755);
return true;
}
else
return false;
フォルダに付与された755の権限で以前のサーバーで作業していました。
権限の仕組みがわからないので、助けてください、ありがとう!
EDIT: 私の/ var/WWWフォルダになるように、ウェブサーバがファイルを書き込むことができますどのような権限を持っている必要がありますか?
編集2: これはわかりました。私は、Webサーバに必要なすべての権限があることを確認するために、www-data:www-dataに権限を与えなければなりません。 しかし、私が得ている問題は、私が/ var/wwwを持っているときにチャットがあったということです。www-データ:www-データ、PHP関数はうまくいきますが、FileZillaを使うときにエラーが拒否されました。だから今私はroot:www-dataにアクセス許可を変更しなければならないたびにFileZilla経由で何かを転送してからwww-data:に戻って私のWebサーバが正常に動作していることを確認してください。誰でもこれを修正しましたか?
あなたの答えをありがとうが、私はこれを理解しました。私が得ている問題は、私が/ var/wwwにchown ** www-data:www-data **があると、php関数は正常に動作していますが、FileZillaを使用しているときにエラーが拒否されました。だから私はFileZilla経由で何かを転送する必要があるたびに** root:www-data **へのアクセス権を変更しなければなりません。その後、** web-server:www-data **に戻って、これに対する解決策はありますか? –
acl許可を与えてください。 setfacl -m u:www-data:rwx/var/www。また、実際の所有権を維持してください:www-data。 –