我想通過PHP運行一個八度腳本。我已經搜索了一下,發現了一些結果,但沒有一個能爲我工作。我嘗試使用exec()和system()。我甚至創建了一個批處理文件,它調用'octave myScript.m',並使用PHP的system()調用這個bat文件,但它似乎無效。在瀏覽器頁面中,我只看到'C:/ FOLDER_PATH> octave myScript.m 」。八度腳本只是創建一個新文件並向其中寫入一些文本。當我直接運行bat文件(通過雙擊它),文件得到正確創建。我也添加到octaverc文件的文件夾路徑,但它似乎沒有工作。我需要做一些八度圖像處理,我已經寫了腳本。我需要在客戶端請求上調用此腳本並將結果發送回客戶端。我正在通過一個示例腳本來檢查調用過程,正如我之前提到的那樣創建了一個新文件。我究竟做錯了什麼?通過php窗口的八度腳本
我的PHP代碼是這樣的:
$cmd = "cmd /c C:\PATH_TO_BAT_FILE\myBat.bat";
exec($cmd,$output);
system($cmd);
echo implode ("\n",$output);
請注意,我的路徑包含雙反斜線避免轉義字符序列
我的bat文件是這樣的
octave temp.m
我倍頻代碼(TEMP .m)是這樣的
fid = fopen("helloScript.txt",'w');
fprintf(fid,"Hello world!");
fclose(fid);
輸出繼電器上的網頁是這樣的:
C:\PATH_TO_BAT_FILE>octave temp.m C:\PATH_TO_BAT_FILE>octave temp.m
我可以,每當我在運行瀏覽器的PHP腳本(我猜測,這是CMD)是越來越創建一個新的進程的任務管理器中看到。 此外,當我改變我的bat文件到
echo hello
我能看到我的瀏覽器頁面
C:\PATH_TO_BAT_FILE>echo hello hello C:\PATH_TO_BAT_FILE>echo hello hello
下列因此,這可能意味着該bat文件是越來越正確執行。但是當我用'octave MY_FILE.m'替換bat文件腳本時,我無法看到輸出。這可能意味着我的八度沒有正確配置?或者有什麼我失蹤?
任何幫助,將不勝感激。
感謝
如果你可以看到源代碼中的PHP源代碼,那麼你沒有啓用PHP。 –
你能解釋一下嗎?我沒有明白 – BaluRaman
它是從我的推論:在瀏覽器頁面,我只看到'C:/ FOLDER_PATH>八度myScript.m「 –