Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sleep()函数的php文件不能同时运行_Php_Sleep - Fatal编程技术网

使用sleep()函数的php文件不能同时运行

使用sleep()函数的php文件不能同时运行,php,sleep,Php,Sleep,我是php的新手。我现在发现sleep函数有一个问题,即我有一个简单的sleep.php文件,如下所示: 当我在两个选项卡中同时点击该文件时,第一个选项卡执行并给出结果:2013-05-04 10:06:24 但是第二个必须等待第一个完全执行,然后给出结果:2013-05-04 10:06:29 我的问题是,为什么它们不能同时执行?这是php行为还是因为web服务或其他原因。我正在运行nginx1.3.0 提前谢谢 我认为这是一种浏览器行为。实际上,您不能完全同时执行它们,其中一个执行得更早。

我是php的新手。我现在发现sleep函数有一个问题,即我有一个简单的sleep.php文件,如下所示:

当我在两个选项卡中同时点击该文件时,第一个选项卡执行并给出结果:2013-05-04 10:06:24
但是第二个必须等待第一个完全执行,然后给出结果:2013-05-04 10:06:29

我的问题是,为什么它们不能同时执行?这是php行为还是因为web服务或其他原因。我正在运行nginx1.3.0


提前谢谢

我认为这是一种浏览器行为。实际上,您不能完全同时执行它们,其中一个执行得更早。使用first execute,浏览器会为您打开一个会话,当其他执行收到该会话时,浏览器会感觉到它在执行中具有相同的文件名。因此,它会等待第一次执行完成,然后开始第二次执行相同的文件。如果要同时在两个选项卡中查看
echo
语句的执行情况,可以使用两个不同的文件名命名它们并在同一浏览器中执行,也可以在两个不同的浏览器中执行一个文件。在这两种情况下,您都会得到您期望的结果。

查看php.ini中的session.auto\u start是否处于启用状态。对我来说,这看起来像是会话锁定问题。我尝试过,但不正确。同样的结果。我认为这不是php的问题,而是关于web服务问题(nginx)。无论如何,非常感谢,伙计:)你用两个不同的文件名命名它们是对的。我试过了,对此毫无疑问。事实上,当我试图在两台不同的计算机上打开my sleep.php时,它们可以同时运行。我仍然怀疑这是浏览器行为还是nginx问题。真奇怪@我不知道,这是浏览器行为。实际上,这是因为浏览器中启用了cookies。如果你禁用cookie,那么它会同时执行它们。你说得对,伙计!我使用curl命令测试了它。非常感谢,阿米尔!