首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >exec/shell_exec中的PSCP

exec/shell_exec中的PSCP
EN

Stack Overflow用户
提问于 2020-06-10 13:44:48
回答 1查看 190关注 0票数 0

我试图使用SFTP通信将文件从一个服务器发送到另一个服务器。

所以服务器从:到:我不知道:

要做到这一点,我只需要运行:

代码语言:javascript
复制
pscp -i "MY_SSH_KEY.ppk"  MY_FILE USER_FTP@URL_SERVER_TO_SEND:/PATH/TO/SEND

工作正常的情况:

  1. 在windows中从CMD运行此命令;
  2. 将此命令放在PHP文件中的exec函数中,并使用cmd;Conde在PHP文件中调用该命令:

代码语言:javascript
复制
<?php
$command = 'pscp -i "MY_SSH_KEY.ppk"  MY_FILE USER_FTP@URL_SERVER_TO_SEND:/PATH/TO/SEND && echo success || echo error';
$result = "";

exec($command,$result);
echo json_encode($result,JSON_PRETTY_PRINT);

但是,如果我使用ajax从前面调用相同的PHP文件,它就不能工作。

注意:要从cmd调用这个PHP文件,我使用以下命令:

代码语言:javascript
复制
php NAME_MY_FILE.php

非常感谢各位!

EN

回答 1

Stack Overflow用户

发布于 2020-06-11 12:45:33

问题解决了,

当我使用windows的CMD运行de时,一切都正常,因为CMD使用管理员用户运行命令。当我通过网站调用它时,PHP使用没有权限运行PSCP命令的系统用户运行exec。

当我授予PHP服务以管理员身份运行的权限时,执行可以工作。

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

https://stackoverflow.com/questions/62305166

复制
相关文章

相似问题

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