私はassetsディレクトリを持つWebサイトを持っています。時にはフォルダー全体を削除する必要があり、以前はAWS上でEBSを使ってEC2を保管していましたが、うまくいきました。NFSアップグレード後にディレクトリが空でないためrmdirが失敗する
私は現在、EFSをテストして、複数のインスタンスにわたってアセットを共有しています。ファイルは、それがディレクトリを言って警告をスローするディレクトリを削除するために行くしかし時に削除されていることは空ではありません。
ERROR [警告]:rmdirを(/パス/):空でないディレクトリ
ファイルシステムを見ると、ディレクトリは空ですので、遅れがあると仮定できます。私はそれがテストとしてそれを修正するかどうかを確認するために睡眠機能を入れましたが、そうではありません。
ディレクトリのアクセス権が正しいように見え、ファイルの保存/削除に問題はありません。
rm -rf
コマンドを実行する唯一の方法はありますか?以下の削除を行うコード:
public function delTree($dir) {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? $this->delTree($dir . $file . "/") : unlink("$dir/$file");
}
return rmdir($dir);
}
ドットファイル( 'ls -la')がないことを確認しましたか?あなたのEFSファイルシステムは "汎用"か "最大限のI/O"でしたか? –
ええ、ドット、一般目的なし。 – Rudiger