Re: [請益] 執行exe問題

作者: poi987poi987 (kim)   2015-10-18 14:59:07
※ 引述《Nexus5566 (Nexus5566)》之銘言:
: 不好意思,想請問一些php執行exe的問題
: 如果不適合在這裡問,或是問題太蠢 請見諒...
: 我目前要做的是把matlab轉成exe的檔案放在server
1.因為我不知道你SERVER環境是什麼, 我先當作是Linux
: client傳參數至php之後,可以執行這個exe
2.執行exe這個問題是沒問題的
使用 exec, system.. 等
大概只是回傳值方式不同
幫你google一下請參考
http://stackoverflow.com/questions/732832/php-exec-vs-system-vs-passthru
ex:
<?php
exec("echo {$var} | matlab.exe");
#這裡就看你用的方式跟你系統指令的熟悉度, cat檔案也可以
#要小心client command injection
3.client接收參數應該沒什麼問題,雖然沒有說出你是使用何種方式
$_POST, $_GET, php://stdin...或其他的
: exe會將執行結果存成特定檔名的txt,再由php讀取
: 第一個問題在版上爬過文,但想再確認一下是否php會等exe跑完之後,才執行下一行?
第一個問題正常來說是沒問題(上面2所提到的方式)
除非你系統指令直接下 &與其他於背景執行的指令,否則會等你執行完成
: 第二個問題則是若多人同時存取這個exe,會有什麼問題產生嗎(例如效能、檔案讀取)...
: 因為在這個部分沒有涉獵過,所以問題可能見笑了,先感謝大家回答
第二個問題可能要依你的情況才能知道有何問題
a.如果exe只是單純計算數值
且無共同讀取任何東西
或者無影響執行任何參數值
則效能問題就要看你的exe 與你server可以乘載的量
b.如果exe有影響其參數值, 那就會有問題
解決作法需看你問題點
ex:
1.如果只是暫存檔案, 那可以更改每次存檔的唯一性
2.如果只是讀取檔案不會有什麼問題
3.如果讀取寫入都有且是同一個檔案, 那需做一個排隊機制
希望有回答到你的問題
作者: Nexus5566 (Nexus5566)   2015-10-20 07:06:00
謝謝您的解答

Links booklink

Contact Us: admin [ a t ] ucptt.com