当我尝试从SFTP服务器获取xml文件时,我一直收到此错误:
file_get_contents():无法找到包装器“sftp” - 您是否忘记在配置PHP时启用它?
控制器中的代码:
$host = 'xxxx';
$username = 'xxxx';
$password = 'xxxx';
$sftp = new SFTP($host);
if (!$sftp->login($username, $password)) {
exit('Login Failed');
}
$abc = $sftp->get('/xxxx/xxxxx.xml'); (this line works fine but it
displays as normal text)
$get=file_get_contents('sftp://xxxxxxxxxx/xxxx/xxxxx.xml');
$arr = simplexml_load_string($get);
print_r($arr); (while using these 3 lines I get that error)
如果有人可以帮助我,真的很感激,谢谢。
答案 0 :(得分:0)
file_get_contents
的包装器名称略有不同。尝试这样的事情:
file_get_contents('ssh2.sftp://user:pass@example.com:22/path/to/filename');
编辑:
查看文档。这是sftp的一部分。
https://secure.php.net/manual/en/function.ssh2-sftp.php
你可以在包装上看到(PECL ssh2> = 0.9.0)。所以你必须先安装模块。
https://pecl.php.net/package/ssh2
您使用的其他lib具有自己的实现。