首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用系统从应用程序执行exe文件

使用系统从应用程序执行exe文件
EN

Stack Overflow用户
提问于 2012-02-17 10:31:43
回答 2查看 1.4K关注 0票数 0

我有一个Gams 应用程序,我想通过php代码运行它,在尝试了很多事情之后,我终于发现,对于在逗号行中运行的C:\Program Files\GAMS23.7,我应该转到C:\Program Files\GAMS23.7,在命令行中运行一个命令来运行应用程序,如下所示:

代码语言:javascript
运行
复制
gams.exe trnsport_php.gms

Gams将在命令行中成功运行,现在我想在php中运行它,我在这个路径中添加了一个别名

C:\程序文件\GAMS23.7 23.7

然后我在其中创建了我的php文件,当我想用php中的代码精确地解释它时:

代码语言:javascript
运行
复制
if(system('gams.exe trnsport_php.gms'))
echo 'Not Error';
else echo'Error';

它显示了我的错误

再一次使用这个:

代码语言:javascript
运行
复制
if(system('./gams.exe trnsport_php.gms'))
echo 'Not Error';
else echo'Error';

再次打印错误

我也试过了,但是没有结果,我不知道这里出了什么问题。这个也不管用:

代码语言:javascript
运行
复制
if(system ("\"C:\\Program Files\\GAMS23.7\\gams.exe \"C:\\Program Files\\GAMS23.7\\trnsport_php.gms"))
echo'success';
else
echo 'no';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-18 07:13:36

我发现了问题,我不知道为什么,但我应该去命令行,只需调用gams

代码语言:javascript
运行
复制
echo exec('C:\WINDOWS\system32\cmd.exe');
echo exec('gams.exe trnsport_php.gms');
票数 1
EN

Stack Overflow用户

发布于 2012-02-17 11:02:11

systemexec命令在失败时返回false,在成功时从执行命令的结果返回最后一行。要测试命令是否成功运行,您必须像这样使用它:

代码语言:javascript
运行
复制
if (system('./gams.exe trnsport_php.gms') === FALSE)
  echo 'error';
else
  echo 'success';

如果您不使用=== FALSE,您也会看到“错误”,如果没有输出。

也许可以尝试使用passthru查看执行命令的原始输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9326633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档