看板 PHP 關於我們 聯絡資訊
各位大大好 前幾天有問過背景執行的一下方法 目前是寫了 sample.php sample_background.php 這兩個來測試看行不行 code如下 [sample.php] $cmd = "cmd /C D:\\software\\MAMP\\bin\\php\\php5.6.0\\php.exe D:\\software\\MAMP\\htdocs\\test_background\\sample_background.php"; $WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Run($cmd, 0, false); [sample_background.php] $file="sample_result.txt"; $fp = fopen($file,"a+"); fwrite($fp,"test OK! \r\n"); fclose($fp); 我從瀏覽器去開sample.php 希望能觸發sample_background.php 來寫入檔案 但是都沒有成功 但是把"cmd /C D:\\software\\MAMP\\bin\\php\\php5.6.0\\php.exe D:\\software\\MAMP\\htdocs\\test_background\\sample_background.php" 這串複製到cmd內貼上跑 卻是可以的,代表這串command應該是沒有問題? 所以會是MAMP沒有這些function嗎?(要怎麼看有沒有這些module?) 還是有其他問題呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.12.179 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1442811614.A.DB9.html
hit1205: 看一下 php.ini 內有沒啟用 php_com_dotnet.dll ? 09/23 02:39
搜尋不到這個東西,在php的extention也沒有這個東西@@
wilson200106: 改用CURL驅動試試? 09/23 02:39
curl感覺是對某個php或html建立連線(HTTP polling) 這樣有辦法形成中斷連線仍然在背景處理的效果嗎? (我想要的是讓原本的index.php盡早結束跟客戶端的polling,把工作丟給背景去做) 剛聽hit大去看php.ini的同時 發現上次做的結果出現在MAMP的目錄下@@ 所以上次是成功的,只是路徑不是出現在原本以為會出現的地方 (通常都是跟執行的php檔在同目錄下) 感謝兩位大大回我XD ※ 編輯: ZCBVXIRD (42.72.252.179), 09/23/2015 12:59:22 ※ 編輯: ZCBVXIRD (42.72.252.179), 09/23/2015 14:13:46
rocairforce: gearman 09/23 14:46