当我尝试从同一浏览器的不同选项卡中的服务器中加载两个相同的页面时,它会在启动另一个页面之前等待一个完成。这很好,但我有一个cron进程需要调用多个调用相同的脚本,我不能有这种类型的阻塞行为。我认为这是因为该进程与服务器具有相同的会话/连接,并且默认行为是一次仅允许来自同一源的一个请求......我怎样才能解决这个问题?我希望能够做的是让一个cron进程能够触发我的一个脚本的调用,并且apache启动一个新的目标脚本实例来处理每个脚本的请求。这可能吗?Apache相同的请求拦截
1
A
回答
3
您是否使用PHP的标准文件会话?当您执行session_start()
时,PHP锁定会话,并在文件退出前保持文件锁定,或者执行session_write_close()
。
这会阻止任何启用了会话的其他页面被提供,因为它们无法获取会话文件,除非锁定被删除。
session_write_close()可以在脚本中的任意位置调用。它所做的只是将_SESSION数组按原样写出来,但将数组留在可供读取的位置。如果需要进行任何修改,您可以稍后在脚本中重新打开会话。
基本上,你必须
<?php
session_start(); // populate $_SESSION;
session_write_close(); // relinquish session lock
.... dome some really heavy duty long computations
session_start();
$_SESSION['somekey'] = $new_val;
0
我不认为有一个与PHP的任何问题不断,其实我很喜欢它的行为
继续使用2;因为继续执行和开关中的制动相同的操作,而for,while,foreach等循环将在离开开关后继续进行。
以下示例将只回显1,因为我正在切换开关和foreach的继续。
$un_array=array(1,2); foreach($un_array as $num) { switch($num) { case 1: //nothing break; case 2: continue 2; break; } echo $num; } exit;
相关问题
- 1. 拦截a4j:commandButton请求
- 2. 拦截WEBrick请求
- 3. 的Java拦截HTTP请求
- 4. 错误,同时拦截请求
- 5. 拦截http POST请求
- 6. 拦截之前:在请求
- 7. 拦截http请求/响应
- 8. 推迟拦截Rails请求
- 9. 图片GET请求拦截
- 10. PHP - 拦截POST请求
- 11. Selenium:如何拦截请求
- 12. 拦截GWT RequestFactory请求
- 13. HttpListner:拦截请求WCF DataService的
- 14. 如何拦截Perl中的HTTP请求?
- 15. 排除node.js中的拦截请求
- 16. 拦截Redux中的HTTP请求
- 17. 拦截javascript中的链接请求
- 18. Android - 拦截Android上的HTTP请求
- 19. 拦截从UIWebView衍生的URL请求
- 20. 如何拦截C#中的http请求?
- 21. 如何拦截webservicehost的请求
- 22. 如何拦截IIS中的WCF请求
- 23. 拦截传出的HTTP请求
- 24. 做一个拦截svn请求的servlet
- 25. Grails:拦截请求的开头
- 26. 与调用相同的线程中的JAX-WS请求和响应拦截器?
- 27. Ang ng ngResources请求拦截器
- 28. Worklight - 拦截HTTP请求以添加Cookie
- 29. spring 3 mvc拦截所有请求
- 30. 拦截并操纵HTTP POST请求
我不知道这是否是问题的全部,但我认为这肯定是问题的一部分...我现在用它测试,我要让你知道如何去。 – hackartist
我认为这是一些封锁,所以感谢信息。 – hackartist