2016-08-30 3 views
0

Я использую API Dropbox для PHP и разработал небольшое приложение для upload and download files from the dropbox.Dropbox API для PHP работает на localhost, но не на сервере

Это нормально работает на моей локальной машине (с использованием WAMP), но не работает, если я загружаю его на сервер.

Вот ошибка:

Fatal error: Uncaught exception 'Dropbox\Exception_NetworkIO' with message 'Error executing HTTP request: ' in /dropbox-sdk/lib/Dropbox/Curl.php:73

Вот мои настройки завиток на сервере:

cURL support: enabled 
cURL Information: 7.46.0 
Age: 3 
Features 
AsynchDNS: No 
Debug: No 
GSS-Negotiate: No 
IDN: Yes 
IPv6: Yes 
Largefile: Yes 
NTLM: Yes 
SPNEGO: No 
SSL: Yes 
SSPI: No 
krb4: No 
libz: Yes 
CharConv: No 
Protocols: dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp 
Host: x86_64-pc-linux-gnu 
SSL Version: OpenSSL/1.0.2e 
ZLib Version: 1.2.3.4 
libSSH Version: libssh2/1.2.6 

Как я могу решить эту проблему?

Edit: Ниже мой код:

<?php 
// Include the Dropbox SDK libraries 
require_once "dropbox-sdk/lib/Dropbox/autoload.php"; 
use \Dropbox as dbx; 

// Get access token from dropbox 
$appInfo = dbx\AppInfo::loadFromJsonFile("dropbox-sdk/config.json"); 
$webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0"); 

$authorizeUrl = $webAuth->start(); 

echo "1. Go to: " . $authorizeUrl . PHP_EOL; 
echo "2. Click \"Allow\" (you might have to log in first)." . PHP_EOL; 
echo "3. Copy the authorization code." . PHP_EOL; 
$authCode = \trim(\readline("Enter the authorization code here: ")); 

list($accessToken, $dropboxUserId) = $webAuth->finish($authCode); 
print "Access Token: " . $accessToken . PHP_EOL; 

$dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0"); 

// Get account info of the user 
$accountInfo = $dbxClient->getAccountInfo(); 
print_r($accountInfo); 
?> 

Edit: Вот Трассировка стека:

Fatal error: Uncaught exception 'Dropbox\Exception_NetworkIO' with message 'Error executing HTTP request: ' in /dropbox-sdk/lib/Dropbox/Curl.php:73 
Stack trace: 
#0 /dropbox-sdk/lib/Dropbox/RequestUtil.php(200): Dropbox\Curl->exec() 
#1 /dropbox-sdk/lib/Dropbox/WebAuthBase.php(41): Dropbox\RequestUtil::doPostWithSpecificAuth('PHP-Example/1.0', 'Basic d25qZDV0c...', NULL, 'api.dropbox.com', '1/oauth2/token', Array) 
#2 /dropbox-sdk/lib/Dropbox/WebAuthNoRedirect.php(80): Dropbox\WebAuthBase->_finish('nNHnBxvAE8qAAAA...', NULL) 
#3 /getAccessTokenForDropbox.php(21): Dropbox\WebAuthNoRedirect->finish('nNHnBxvAE8qAAAA...') 
#4 {main} thrown in /dropbox-sdk/lib/Dropbox/Curl.php on line 73 
+0

Просьба представить ваш код, чтобы мы могли посмотреть на него –

+0

Привет, Мануэль, я редактировал вопросы и добавлял код в конце. – Purab

+0

Спасибо, здесь это может вам помочь: https://www.dropboxforum.com/hc/en-us/community/posts/201823725-Fatal-error-Uncaught-exception-Dropbox-Exception-NetworkIO-with-message-Error -executing-HTTP-request-error-14094410-SSL-routines-SSL3-READ-BYTES- –

ответ

0


Вопрос был с завиток запрос отправляется в Dropbox API. Как dropbox отправляет запросы на завивки к IP-адресу, принятому во время выполнения (например, 108.160.173.164), запросы блокировались моим сервером.
Белые листинга всех подключений к 108.160.xxx.xxx помогли устранить эту ошибку.