我试图使用SFTP通信将文件从一个服务器发送到另一个服务器。
所以服务器从:到:我不知道:
要做到这一点,我只需要运行:
pscp -i "MY_SSH_KEY.ppk" MY_FILE USER_FTP@URL_SERVER_TO_SEND:/PATH/TO/SEND工作正常的情况:
。
<?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文件,我使用以下命令:
php NAME_MY_FILE.php非常感谢各位!
发布于 2020-06-11 12:45:33
问题解决了,
当我使用windows的CMD运行de时,一切都正常,因为CMD使用管理员用户运行命令。当我通过网站调用它时,PHP使用没有权限运行PSCP命令的系统用户运行exec。
当我授予PHP服务以管理员身份运行的权限时,执行可以工作。
https://stackoverflow.com/questions/62305166
复制相似问题