設定php指令碼永不過期
阿新 • • 發佈:2019-02-01
在Linux下執行2個php指令碼:queue.php,worker.php
queue.php,worker.php 2個指令碼實現的功能:接收&&處理日誌資訊
應用程式傳送日誌資訊是不定時的,但是queue,worker必須是常駐程序,一直開啟等待接收&&處理資訊,需要一直執行
在putty上操作執行指令碼,但是由於session會過期導致,php中斷執行,想要php指令碼一直執行,有2個方法
1.如果你的程式碼已經成熟了,你可以直接把php指令碼開成守護程序,讓指令碼一直執行
開啟守護程序的方法:
nohup php queue.php &
或
setsid php queue.php
[原理
nohup :讓程序忽略中斷退出發出的hangup訊號
sesid:讓程序不屬於此終端的子程序,那麼自然也不會受到中斷的hangup訊號的影響]
2.程式碼還在除錯階段,不開守護程序,如何使php指令碼在session過期以後繼續執行
路徑:/usr/local/php/etc/php-fpm.conf
有一個引數:request_terminate_timeout = 120 //預設值是120
修改這個引數的值為:0
這樣php指令碼在執行的時候就會永不過期了,session斷開以後,php指令碼仍會繼續執行
:)