大佬教程收集整理的这篇文章主要介绍了windows – 使用Symfony Process运行异步PHP任务,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
它是quite easy on Linux,但我正在寻找一种适用于Windows的方法.
我希望它变得简单,应该如此.没有@L_502_2@,没有sql排队,没有一次又一次installing stuff …我只是想运行一个该死的异步任务.
所以我尝试了Symfony Process Component.
问题是,同步运行任务工作正常,但在异步运行时,它会沿主脚本退出.
有没有办法来解决这个问题?
composer require symfony/process
的index.PHP
<?PHP require './bootstrap.PHP'; $logFile = './log.txt'; file_put_contents($logFile,''); append($logFile,'script (A) : '.timestamp()); $process = new Process('PHP subscript.PHP'); $process->start(); // async,subscript exits prematurely… //$process->run(); // sync,works fine append($logFile,'script (B) : '.timestamp());
subscript.PHP
<?PHP require './bootstrap.PHP'; $logFile = './log.txt'; //ignore_user_abort(true); // doesn't solve issue… append($logFile,'subscript (A) : '.timestamp()); sleep(2); append($logFile,'subscript (B) : '.timestamp());
bootstrap.PHP中
<?PHP require './vendor/autoload.PHP'; class_alias('Symfony\Component\Process\Process','Process'); function append($file,$content) { file_put_contents($file,$content."\n",FILE_APPEND); } function timestamp() { list($usec,$seC) = explode(' ',microtime()); return date('H:i:s',$seC) . ' ' . sprintf('%03d',floor($usec * 1000)); }
结果
script (A) : 02:36:10 491 script (B) : 02:36:10 511 subscript (A) : 02:36:10 581 // subscript (B) is missing
以上是大佬教程为你收集整理的windows – 使用Symfony Process运行异步PHP任务全部内容,希望文章能够帮你解决windows – 使用Symfony Process运行异步PHP任务所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。