[請益] 背景執行相關問題

作者: b90022790 (柚子拉拉)   2020-02-04 23:13:14
各位php板上的各位前輩好!
目前在架設一個簡單的訂單系統,有個功能無法順利完成,希望前輩們能給些意見,謝謝
環境:php7.4.1、 MySQL、CentOS 6.8
功能:當商家按鈕確認訂單後,除了修改MySQL內容外,希望能夠寄mail通知客戶
問題:使用PHPMailer接gmail SMTP,然而速率過慢,商家的client端需要等待執行完畢
才能看到確認後的結果,希望能先讓商家看到結果,寄信的功能在伺服器背景執行。
試過的解決方式:先寫一個send.php專門處理寄信的功能,在商家client的頁面直接顯示
確認訂單後的結果畫面,並在商家該php頁面使用system()執行send.php,程式碼如下:
system("php send.php user"); //user為收信者參數
然而這仍然會等待執行完才會回responce。
使用「php 背景執行 超時」當關鍵字,採用將結果輸出到.out,改system()程式碼如下:
system("php send.php user > MAIL.out");
然而這樣卻變成連寄信都沒有執行就結束了。
希望前輩們能給一些如何處理該功能的意見,以及為何該system()無法正常執行
謝謝各位前輩!還請各位指點!!
作者: ddoll288 (風兒卿卿)   2020-02-05 10:42:00
system("php send.php user &"); 試試看?
作者: crossdunk (推噓自如)   2020-03-13 18:57:00
通常這個用queue處理比較好

Links booklink

Contact Us: admin [ a t ] ucptt.com