我的网站需要一个后台线程,定时去完成一些操作,我在WIN+PHPStudy+Apache+MySql+PHP 5.4
例如
while(1){
xxxx
xxxx
sleep(5000);
}
之前用.NET下很方便的就添加完线程并且在IIS里面执行了,现在在PHP里面需要同样的操作,却发现PHP没有后台线程这一说,因为是脚本语言,整个过程都是用户请求后,再通过解释器解释出来的,都是request然后response的过程。我在以下帖子上面看到了通过一个扩展来添加线程
https://www.cnblogs.com/jkko123/p/6351604.html
但是,这个上面是通过在命令行里面执行一个程序来完成的。这样做也可以,但是我如何查看当前我执行了多少个这种线程呢?如何去控制线程的启停呢?如何用PHPStorm去下断调试到线程里面的东西呢?

解决方案 »

  1.   

    swoole 了解一下
      

  2.   

    当年我也有些疑问,至今未找到解决方案,定时任务,在php里似乎是无法做到的,还是得有个Server, 让他一直跑着!
      

  3.   

    redis存队列,然后再取队列   执行任务
      

  4.   

    https://blog.csdn.net/zhouchang224/article/details/88706689
      

  5.   

    supervisorctl了解一下
      

  6.   

    计划任务里添加计划 执行php即可