我在我的应用程序中有这段代码,经常会被多个用户同时运行导致竞争条件。
clearstatcache(TRUE, $filepath);
if(file_exists($filepath)) unlink($filepath);
但是,对于这行代码,我每天仍然会遇到几个错误,比如:
unlink(file): 没有那个文件或目录
服务器运行Apache 2.2和PHP 5.3.3。我知道这是竞争问题,但认为@操作符只是不好。我首先尝试了clearstatcache()没有任何参数,结果还是出现了同样的错误。 我应该如何正确地解决它?
clearstatcache()
之后添加usleep(100)
。 - powtac