作者ZCBVXIRD (Alonso)
看板PHP
標題[請益] Win7 MAMP環境下做背景執行
時間Mon Sep 21 13:00:11 2015
各位大大好
前幾天有問過背景執行的一下方法
目前是寫了 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