看板 PHP 關於我們 聯絡資訊
各位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()無法正常執行 謝謝各位前輩!還請各位指點!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.148.244 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1580829198.A.D7C.html
ddoll288: system("php send.php user &"); 試試看? 02/05 10:42
依照您的方法已經可以成功完成!非常謝謝您! ※ 編輯: b90022790 (1.168.148.244 臺灣), 02/05/2020 16:48:29
crossdunk: 通常這個用queue處理比較好 03/13 18:57