0
因此,一般來說,您可以在php中使用exec('MyCommand &> /dev/null &')
,而MyCommand
將作爲單獨進程執行,因此您的主要PHP執行可以繼續進行。將Laravel Artisan命令作爲一個新進程運行
奇怪的是,如果您嘗試使用Laravel的Artisan
來做這件事,那麼事情就會變得橫向。例如,令人驚訝的是,在這個過程中,exec('php artisan command &> /dev/null &')
的結果仍然懸而未決,直到工匠指揮結束。如果將artisan命令封裝在bash腳本中,它將根本不會執行。
這是爲什麼,我該如何在新的分離過程中執行工匠命令?
可悲的是,我不認爲我可以用'pcntl_fork()'從Apache模塊調用,按[這]( http://stackoverflow.com/questions/16826530/pcntl-fork-returning-fatal-error-call-to-undefined-function-pcntl-fork)問題。 – MirroredFate 2014-09-25 18:36:38
你確定這不僅僅是因爲你的php.ini文件禁用了pcntl_ *函數嗎? – 2014-09-25 18:45:43
他們被禁用了,我讓他們出於好奇 - 然而,我發現了[this](http://stackoverflow.com/a/14737821/771665)答案的第一條評論,它明確指出這些功能是禁用的在Apache配置中,因爲它們不起作用。 – MirroredFate 2014-09-25 23:29:59