日期:2014-05-17 浏览次数:20559 次
/**
* 函数 tenor
* 功能 启动一个url,但不等待返回
* 参数 $page,待执行的页面程序
* 返回 无
**/
if(! function_exists('tenor')):
function tenor($page) {
$host = $_SERVER["HTTP_HOST"];
$fp = fsockopen($host, 80, $errno, $errmsg);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"GET /$page HTTP/1.0\nHost: $host\n\n");
fclose($fp);//可能需要注释掉该行
}
}
endif;
------解决方案--------------------
php 是不支持多线程的,更谈不上主线程和子线程了。 不过倒是有办法模拟这个环境,代码如下:
do {
? $mrc = curl_multi_exec($mh,$active);
? } while ($mrc == CURLM_CALL_MULTI_PERFORM);
? while ($active and $mrc == CURLM_OK) {
? if (curl_multi_select($mh) != -1) {
? do {
? $mrc = curl_multi_exec($mh, $active);
? } while ($mrc == CURLM_CALL_MULTI_PERFORM);
? }
? }
?是通过一个不停执行的循环 模拟的,
这个办法要是不行的话 就用系统的计划任务 定时去执行程序吧~
------解决方案--------------------
这种事还是用C吧, php只是为了Web而活的。。
具体程序架构怎么设计还得明确一下功能描述。