php代码执行cmd命令

haohaovpal 2017-12-27 09:23:39
需要用php代码来实现点击按钮启动本地exe程序 看了网上说用exec 或system函数但是试了下不行啊-- 安全模式关闭了 disable函数也是空的。 使用exec("程序路径.exe") 结果没有任何反应-- 问题出在哪里 谁用过这些呢
...全文
901 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
狄默默斯基 2017-12-28
  • 打赏
  • 举报
回复
貌似以前听谁说过,php不是都能调用所有的exe程序
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 1 楼 qq_34399969 的回复:
首先用exec或者system是一点问题都没有的,你可以在windows的窗口运行下你的exe看看能不能运行,吧窗口可以运行的路劲拷贝到exec里面去执行!
----------------------------- 可以的 我在dos窗口下运行后是可以直接启动程序 但是php就就不可以了 可以给个具体代码吗?? 我这里就简单的这样写没有用 但是在cmd窗口下直接D:\\XXX\\XXX.exe 可以启动程序 不知道为什么了 php.ini 设置里我也没看到问题 <?php exec('D:\\XXX\\XXX.exe'); ?>
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
可以的 我在dos窗口下运行后是可以直接启动程序 但是php就就不可以了 可以给个具体代码吗?? 我这里就简单的这样写没有用 但是在cmd窗口下直接D:\\XXX\\XXX.exe 可以启动程序 不知道为什么了 php.ini 设置里我也没看到问题 <?php exec('D:\\XXX\\XXX.exe'); ?>
老虎爱代码 2017-12-28
  • 打赏
  • 举报
回复
首先用exec或者system是一点问题都没有的,你可以在windows的窗口运行下你的exe看看能不能运行,吧窗口可以运行的路劲拷贝到exec里面去执行!
老虎爱代码 2017-12-28
  • 打赏
  • 举报
回复
引用 10 楼 haohaovpal 的回复:
[quote=引用 5 楼 qq_34399969 的回复:]

$cmd = 'D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe 2>&1';
exec($cmd,$retArr,$output);
var_dump($retArr);
var_dump($output);
本地试了下,没毛病啊!
我试了下你的 把D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe换成了我这里一个在cmd命令窗口下可以执行的路径 结果返回值是1执行失败 不知道什么情况[/quote] 1的话一般是没有权限造成的
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 14 楼 xuzuning 的回复:
你要的是在浏览器中执行本地程序,那是 js 的事情,与 php 无关!
不是在浏览器页面里执行程序-- 是打开php页面的时候根据exec函数 在电脑中启动本地exe程序呀=
xuzuning 2017-12-28
  • 打赏
  • 举报
回复
你要的是在浏览器中执行本地程序,那是 js 的事情,与 php 无关!
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 12 楼 xuzuning 的回复:
后台运行,怎么可能有窗口?
那样不就没办法实现 调用本地exe程序的办法了吗?? 就是localhost下打开XX.php网页的时候 启动本地某个exe程序
xuzuning 2017-12-28
  • 打赏
  • 举报
回复
后台运行,怎么可能有窗口?
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
1、php 是匿名用户,权限最低。请先检查你的可执行程序所需的权限 2、php 是在后台执行可执行程序,所以可执行程序不能有界面,不能要求用户交互 3、出于安全考虑,php 允许关闭一些危险函数,看看你的配置,是否这样做了
我的php.ini中 disabledfunction= 空 应该是能用的-- 我现在就只想弹出cmd窗口都做不到了 $cmd = 'C:\\Windows\\System32\\cmd.exe'
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 5 楼 qq_34399969 的回复:

$cmd = 'D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe 2>&1';
exec($cmd,$retArr,$output);
var_dump($retArr);
var_dump($output);
本地试了下,没毛病啊!
我试了下你的 把D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe换成了我这里一个在cmd命令窗口下可以执行的路径 结果返回值是1执行失败 不知道什么情况
xuzuning 2017-12-28
  • 打赏
  • 举报
回复
1、php 是匿名用户,权限最低。请先检查你的可执行程序所需的权限 2、php 是在后台执行可执行程序,所以可执行程序不能有界面,不能要求用户交互 3、出于安全考虑,php 允许关闭一些危险函数,看看你的配置,是否这样做了
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 5 楼 qq_34399969 的回复:

$cmd = 'D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe 2>&1';
exec($cmd,$retArr,$output);
var_dump($retArr);
var_dump($output);
本地试了下,没毛病啊!
请问2>&1是什么用的??
haohaovpal 2017-12-28
  • 打赏
  • 举报
回复
引用 4 楼 xjl756425616 的回复:
貌似以前听谁说过,php不是都能调用所有的exe程序
我是为了调用matlab里写好的exe方法--dos窗口里可以调用
newpeng 2017-12-28
  • 打赏
  • 举报
回复
看看是不是你的盘符写的不对?比如有的地方少了一个。linux下还好,windows下很扯蛋的。 F:\\tmp\\Lib\\1\\pro.exe
老虎爱代码 2017-12-28
  • 打赏
  • 举报
回复

$cmd = 'D:\Tool\MobaXterm_v9.1\MobaXterm_Personal_9.1.exe 2>&1';
exec($cmd,$retArr,$output);
var_dump($retArr);
var_dump($output);
本地试了下,没毛病啊!

20,398

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧