2

これを行う:

php -r 'unlink("path"); clearstatcache(); echo file_exists("path");'

path は、Linux マシン上のファイルへの完全な絶対パスです。1ファイルが明らかに存在しないにもかかわらず、コマンドが ' ' を返しています。このコマンドは何百万回も実行できますが、常にファイルがそこにあることがわかります。

ランニング:

ls path

そのようなファイルはありません。

何が与えますか?

更新: clearstatcache() については知っています。この場合、それは役に立ちません。さらに、これをcliで実行しています。実行ごとに何も変わりません。また、ubuntu 11.10 を実行している 64 ビット VM を使用しています。

パスは、ファイル システム上の単なるパスです: /var/www/yo.txt。www は nfs 共有マウントですが、それが関係しているかどうかはわかりません。ファイルはリモート マシンから削除されましたが、ローカル マシンはそのファイルが存在しないことを認識しているようです。ディレクトリの 'ls' はファイルを表示せず、パス クレームを含む ls はファイルが存在しないことを示します。ファイルはほんの数キロバイトで、大したことはありません。

4

1 に答える 1