【发布时间】:2013-06-11 18:24:43
【问题描述】:
我正在尝试使用 PHP 中的 cURL 库从远程服务器 SFTP 获取文件,如下所示。我收到 no such file exists 错误。任何想法我做错了什么?
<html>
<body>
<?php
$user="username";
$pass="password";
$filename="/opt/vmstat/vmstat_file";
$c = curl_init("sftp://$user:$pass@server1/$filename");
$fh = fopen($filename, 'r') or die($php_errormsg);
curl_setopt($c, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($c, CURLOPT_FILE, $fh);
curl_exec($c);
curl_close($c);
?>
</body>
</html>
错误:
Warning: fopen(="/opt/vmstat/vmstat_file): failed to open stream: No such file or directory in C:\inetpub\wwwroot\sftp.php on line 9
【问题讨论】:
-
你确定 sftp://$user:$pass@server1/$filename 吗?或者也许更好 sftp://$pass:$user@server1$filename ?
-
所写的代码是正确的。我怀疑奥卡姆剃刀有效……文件不存在。
-
文件确实在那里。
-
检查文件所有权和权限
-
该文件作为每个人的 r 权限。