PHP - file_exists 需要很长时间
Posted
技术标签:
【中文标题】PHP - file_exists 需要很长时间【英文标题】:PHP - file_exists takes very long 【发布时间】:2016-03-17 14:53:20 【问题描述】:我想阻止 php 脚本同时运行。我通过检查“lock.txt”文件是否存在来实现这一点。然而,这需要几秒钟,即使它应该非常快。
<?php
if (!file_exists('lock.txt'))
$lock = fopen('lock.txt','w');
////////////////////////////////////////////
......script that takes 30-160 seconds......
////////////////////////////////////////////
$jsonArray = array(utf8_encode('script')=>utf8_encode('finished'));
fclose($lock);
unlink('lock.txt');
else
$jsonArray = array(utf8_encode('script')=>utf8_encode('locked'));
echo json_encode($jsonArray);
?>
为什么需要这么长时间?它应该只是使初始 if 语句失败并快速回显json_encode
。
我做错了吗?
【问题讨论】:
文件大小是多少? 7 KB(如果包含类,则为 670 KB,即使 if 语句未通过)。这需要很长时间,因为它从 API 请求数据(有点慢),而不是因为脚本很大。 如果你指的是 'lock.txt' 文件:它是 0 KB。 这是通过 Web 界面还是命令行?你也应该看看php.net/manual/en/function.flock.php @displaynn 请告诉我你没有使用 IE。 【参考方案1】:问题出在客户端,我在 Chrome 浏览器中使用了两个选项卡。
感谢@apokryfos 和@WheatBeak 帮助我得出这个结论。
【讨论】:
以上是关于PHP - file_exists 需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章