如何解决PHP Curl SFTP 下载在本地工作但不在服务器上
我在这里和那里挑选了一些代码,以确保我可以直接在浏览器中从 sFtp 服务器下载文件。
当我在本地运行脚本时,它运行良好,下载文件也很好。当我将它上传到我的 ubuntu 20.04 服务器并转到浏览器中的 url 时。得到通知,他想下载。只有文件只有 0 个字节。
脚本:
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"demo.pdf\"");
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,"sftp://".$host."/demo.pdf");
curl_setopt($curl,CURLOPT_PROTOCOLS,CURLPROTO_SFTP);
curl_setopt($curl,CURLOPT_USERPWD,"$username:$password");
curl_exec($curl);
curl_close($curl);
Curl PHP 扩展安装在服务器上。
(编辑)修复(我认为):
当我添加以下几行时。它会起作用:
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
解决方法
请检查您的 php.ini 设置并确认那里没有禁用 curl_exec 功能。您还可以查看 Web 服务器日志以了解更多信息。
,curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。