用消息队列就可以了,比如IBM MQSeries。
MQSeries PHP Extention http://www.tjonahen.nl/mqseries/

解决方案 »

  1.   

    谢谢楼上的
    用sleep时下面的状态栏滚动条有滚动啊
    而且用sleep(30)以上就会出现Fatal error: Maximum execution time of 30 seconds exceeded in xxxxxxxxx……
    各位大虾帮忙啊 如果可以追加分的话把所有的都给了~~
      

  2.   

    mrshelly(Shelly) ( ) 信誉:100    Blog   加为好友  2007-6-17 19:37:39  得分: 0  
     
     
       
    后台脚本....定时任务...
    也可以是插入队列. 在队列中设置触发时间...(这个看队列压力,可能会有执行延迟..)  
     
    -------------------------
     显然应该是这个
      

  3.   

    sleep没有用的,它只是暂停了程序一旦过了时间就会继续下去的,这和你要的不一样的。
      

  4.   

    用VC,VB,PB之类的写个小程序运行在服务端(开机自启),定时查询数据库,发现到时的就交易。
      

  5.   

    虚拟主机?
    页面加个IFRAME或隐藏FRAME,自动刷新数据库,到时间就update
      

  6.   

    单独用php不可能实现,必须要调用操作系统工具才可以
      

  7.   

    可以用vb些个后台执行程序来了,将你要执行的程序编号存入一个数据库,然后vb定时扫描数据库,只要有数据就将他提取出来执行,并删除记录!前提是你的不是虚拟主机
      

  8.   

    SLEEP()能实现?没试验
     不过SLEEP前要加上 SET_LIMIT_TIME(0) 要不就要出现
    Fatal error: Maximum execution time of 30 seconds exceeded in xxxxxxxxx……这个错误了这个到是真的...
      

  9.   

    是不是可以通过这个实现:
    首先,在客户提交交易申请时,往数据库中写入交易的时间(如现在是00:00,立即交易就算了吧,10分钟后就写00:10,20分钟后就写00:20……),是否已经交易(交易的为1,未交易的为0),然后就是等下一个打开本站任何一个php界面时调用一个函数,这个函数从数据库中提取交易为1的项目,然后再获取交易时间,分别用update更新数据库中的项目,实现交易,可以说是障眼法,在用户操作之前,已经把数据更新完了 
    这个行吗 我没有试验,只是这种想法
      

  10.   

    感觉现在想想,也不需要那么麻烦啊 直接往数据库里写交易成功的时间不就行了,如现在是00:00,立即交易就是00:00,10分钟后就写00:10,20分钟后就写00:20……
    在客户端查看交易记录时,获取交易成功时间,与当前时间比较,之后就显示未交易,可以进行删除操作,之前就显示交易成功,不能进行删除
    在管理员界面分块显示将要交易的(获取交易成功时间比当前时间较后)和交易成功的(获取交易成功时间比当前时间较前)
    哈哈 这样就不用用什么队列和sleep了 
      

  11.   

    用c/c++什么的些个后台服务
    首先将用户确认交易时的时间$tradeTime和交易的ID即$tradeId读入服务
    然后计算自$tradeTime后的十分中是什么时间$queryTime
    服务判断服务器的授时系统时间大于(考虑有时候服务器出现的异步情况)或等于$queryTime
    就确认交易正式完成!
      

  12.   

    用服务器脚本处理,如shell,批处理等
      

  13.   

    nexteee :cho__cho(业精于勤,慌于嘻!行成于思,毁于随) 两位 不好意思啊  本来想给分的 后来不知怎么搞的 没有加上 抱歉啊