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