Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows | wamp |无法从php exec()执行plink.exe_Php_Batch File_Wamp_Exec_Plink - Fatal编程技术网

Windows | wamp |无法从php exec()执行plink.exe

Windows | wamp |无法从php exec()执行plink.exe,php,batch-file,wamp,exec,plink,Php,Batch File,Wamp,Exec,Plink,我需要通过PHP从Windows7访问Linux机器 为此,我创建了包含plink的简单bat(MyScript.bat)脚本 c:\wamp\www\abc\plink.exe user1@192.168.70.128 -pw l1c -C "df -h">11.txt 当我执行bat脚本时,它工作正常,即输出写入文件11.txt 但是当我从PHP访问它时,11.txt是在没有数据的情况下创建的 echo exec('MyScript.bat'); 此外,在浏览器中,脚本命令显示为文

我需要通过PHP从Windows7访问Linux机器

为此,我创建了包含plink的简单bat(
MyScript.bat
)脚本

c:\wamp\www\abc\plink.exe user1@192.168.70.128 -pw l1c -C "df -h">11.txt
当我执行bat脚本时,它工作正常,即输出写入文件
11.txt

但是当我从PHP访问它时,
11.txt
是在没有数据的情况下创建的

echo exec('MyScript.bat');
此外,在浏览器中,脚本命令显示为文本。我甚至尝试使用
print\r
进行显示

"c:\wamp\www\abc\plink.exe user1@192.168.70.128 -pw l1c -C "df -h">11.txt

不要为SSH启动外部工具

PHP已经成功了

或使用:


无论如何,如果要使用Plink,请同时重定向标准错误输出以调试问题:

plink.exe .. dir > 11.txt 2>&1


您肯定缺少显式指定受信任主机密钥指纹的

“脚本命令显示为文本”-如果不需要,请删除
echo
。您是否尝试捕获完整输出和返回代码?是的,我也尝试了完整输出,但输出为空arrayexec(“plink.exe”)user1@192.168.70.128-pw l1c-C\'df-h\',$output1);打印(输出1美元);输出为数组(),我尝试使用phpseclib,但收到错误消息:“未找到兼容的服务器到客户端加密算法”是的,我没有使用-hotkey作为我的应用程序使用密码登录。以前,由于兼容性问题,我无法在windows 7中使用PHP本机ssh2,但现在我能够配置它,它工作得很好。虽然我的问题已经解决了,但我仍然有兴趣知道为什么plink没有使用php。我将尝试重定向标准错误并让您知道。非常感谢。
-hostkey
与身份验证无关。这是关于验证您是否信任服务器公钥。无论使用什么身份验证,都必须这样做。phpseclib:what does
$ssh->getLog()说什么?
plink.exe .. dir > 11.txt 2>&1