我正在尝试同时运行两个php脚本实例。我有一个脚本'test.php':
<p><?php echo time(); ?> Sleeping...</p>
<?php sleep(5); ?>
<p><?php echo time(); ?> done</p>
如果我同时在两个浏览器标签页中加载页面,我会得到:
1446855680睡觉......
1446855685完成
和此:
1446855686睡觉......
1446855691完成
一个实例阻塞,直到另一个实例加载。这种情况发生在Firefox和Chromium上。
如果我制作第二个相同的脚本'test2.php',或者将两个网址重写到同一个脚本中,并将两个页面加载到不同的标签中,我就明白了:
1446855862睡觉......
1446855867完成
和此:
1446855863睡觉......
1446855868完成
两个实例同时加载。所以它是被阻止的相同URL。
如何获得具有相同URL的两个脚本实例同时加载/运行?
答案 0 :(得分:0)
正如VolkerK指出的那样,您的测试确认Firefox / Chrome会按顺序执行完全相同的 URL请求。但实际上这不是问题,因为用户通常不会加载相同的页面两次,而对于向Ajax请求提供数据的脚本,URL会有所不同,因为附加了不同的参数。
如果您想绕过此机制,您可以将随机参数(在不同的浏览器标签中必须不同)附加到网址,即url.to/your/script?urlID=4821de7e524cf762deab6ed731343466
。随机参数使浏览器看到两个不同的URL,从而并行执行加载。