Я пытаюсь использовать phpseclib в моем проекте для загрузки фида продуктов в Bing Merchant Center с использованием SFTP. Я использую phpseclib в том же проекте для загрузки фида продукта в Amazon через 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 для подключения direclty к FTP-серверу Amazon, я НЕ получаю это предупреждение.
Итак, мне интересно, может ли это предупреждение вызвать проблему. Должен ли я как-то сказать серверу Ubunut доверять сертификату на FTP-сервере Bing, в основном подражая одобрению руководства, которое я должен был предоставить в Filezilla? Кто-нибудь знает как это сделать?
В соответствии с часто задаваемым вопросом продавца Bing поддерживается только FTP или FTPS. Не SFTP. Phpseclib поддерживает только SFTP. FTPS и SFTP - это совершенно разные протоколы.
Обратитесь к руководству PHP для своих функций FTP:
https://secure.php.net/manual/en/book.ftp.php