我试图在我的项目中使用phpseclib使用SFTP将产品Feed上传到Bing的Merchant Center。我在同一个项目中使用phpseclib通过SFTP将产品Feed上传到亚马逊,并且它正常工作,但我似乎无法成功连接到Bing。
以下代码尝试连接到Bring:
$sftp = new Net_SFTP(BING_FTP_SERVER);
if (!$sftp->login(BING_FTP_USERNAME, BING_FTP_PASSWORD)) {
exit('Login Failed');
}
当我运行此代码时,大约有10秒的延迟,然后我收到一条错误消息,说明登录失败并且:
Cannot connect to feeds.adcenter.microsoft.com. Error 110. Connection timed out
要测试凭据,我使用Filezilla手动连接,它可以正常工作。但是,在连接之前,Filezilla向我显示一条警告,说服务器的证书是未知的,我需要在连接之前手动批准它。当我使用Filezilla将direclty连接到亚马逊的FTP服务器时,我不会收到此警告。
所以,我想知道这个警告是否可能导致问题。我是否需要以某种方式告诉我的Ubunut服务器信任Bing的FTP服务器上的证书,基本上模仿我在Filezilla中需要提供的手动批准?有谁知道怎么做?
答案 0 :(得分:1)
根据Bing商家常见问题解答,仅支持FTP或FTPS。不是SFTP。 phpseclib仅支持SFTP。 FTPS和SFTP是完全不同的协议。
请参阅PHP手册了解其FTP功能:
https://www.php.net/manual/en/book.ftp.php