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