【发布时间】:2016-09-20 02:02:55
【问题描述】:
我正在尝试通过集成 SFTP 和 cURL 来缩短从 SFTP 下载文件所需的时间。
我的代码如下:
$host = "192.168.1.1";
$username = "testuser";
$password = "testpass";
$fn = 'testfile.zip';
$remote = "sftp://".$username.":".$password ."@".$host.":22/home/testfolder/saleskits/".$fn;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $remote); #input
curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_exec($curl);
if (!curl_errno($curl)) {
$info = curl_getinfo($curl);
echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n";
}
else{
echo 'Curl error: ' . curl_error($curl);
}
curl_close($curl);
输出为“Curl 错误:无法打开远程文件进行读取:权限被拒绝”。如何通过权限或更改文件的权限?
【问题讨论】:
-
用户名\密码好像错误
-
但它没有显示身份验证失败。我尝试设置错误的密码,显示错误“身份验证失败”。
-
您可以使用任何其他(甚至是 GUI)SFTP 客户端下载文件吗?
-
@nogad 不太可能。那将是“身份验证失败”,而不是“权限被拒绝”。
-
我希望我可以,但任务的要求是在 php.ini 中从 SFTP 下载文件。我确实尝试过phpseclib,但速度太慢了。