0
私はPHPスクリプトを使用してクライアントがアップロードしたファイルとディレクトリを削除するためにcrontabを通じてcrontabを使用しています。これは、ディレクトリ内のイメージが0644所有者99グループ99に設定されています。CrontabからUNLINKへのアクセスが拒否されました
次のスケジュールされたcrontabが実行されると、私は許可が拒否されました。
のphp -q -f /xxx/xxx/xxx/deletefiles.php
function RemoveDirectory($dirname) {
if (!file_exists($dirname)) {
return false;
}
if (is_file($dirname) || is_link($dirname)) {
return unlink($dirname);
}
$dir = dir($dirname);
while (false !== $entry = $dir->read()) {
if ($entry == '.' || $entry == '..') {
continue;
}
RemoveDirectory($dirname . DIRECTORY_SEPARATOR . $entry);
}
$dir->close();
return rmdir($dirname);
}
if (is_dir('/xxx/xxx/public_html/xxx/xxx')) {
RemoveDirectory('/xxx/xxx/public_html/xxx/xxx');
}
私はPHPを介してこれと同じスクリプトを自分で実行した場合、それだけで正常に動作します。 crontabに同じスクリプトを実行する権限を与えるにはどうすればよいですか?このファイルをルートディレクトリに配置する必要がありますか?私は好きではない。
どのようにこれを正しく説明しますか。すべての助言は充当されました。
それはできませんでした。それは各ファイル(画像)上でも行われるべきですか?おそらく – Tim
。私はサーバーがあなたがファイルを削除することができなくてもフォルダを削除させるとは思わない。 – john
私はchmod()を取得しました:操作が許可されていません – Tim