【发布时间】:2015-02-06 16:19:21
【问题描述】:
我正在尝试在我的项目中使用 phpseclib 使用 SFTP 将产品 Feed 上传到 Bing 的 Merchant Center。我在同一个项目中使用 phpseclib 通过 SFTP 将产品提要上传到亚马逊,它工作正常,但我似乎无法成功连接到 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 直接连接到 Amazon 的 FTP 服务器时,我没有收到此警告。
所以,我想知道这个警告是否可能导致问题。我是否需要以某种方式告诉我的 Ubunut 服务器信任 Bing 的 FTP 服务器上的证书,基本上模仿我在 Filezilla 中需要提供的手动批准?有谁知道怎么做?
【问题讨论】:
-
是 PHP 的 fsockopen() 给出了错误。我的猜测:BING_FTP_SERVER 上没有 /SFTP/ 服务器,而是 FTP 服务器。 FTP 在端口 21,SFTP,端口 22。