2016-08-30 7 views
0

Ich benutze Dropbox API für PHP und entwickelte eine kleine App zu upload and download files from the dropbox.Dropbox API für PHP arbeitet auf localhost, aber nicht auf Server

Das funktioniert auf meinem lokalen Rechner (mit WAMP), funktioniert aber nicht, wenn ich es auf einen Server hochlade. Hier

ist ein Fehler:

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

Hier meine cURL Einstellungen auf dem Server:

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 

Wie kann ich dieses Problem lösen?

Edit: Folgende ist mein Code:

<?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: Hier ist der Stack-Trace:

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

Bitte geben Sie Ihren Code ein, damit wir ihn ansehen können –

+0

Hallo Manuel, ich habe die Fragen bearbeitet und am Ende Code hinzugefügt. – Purab

+0

Danke, hier könnte Ihnen helfen: 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-Routinen-SSL3-READ-BYTES- –

Antwort

0


Das Problem war mit der curl Antrag der Dropbox API gesendet werden. Da Dropbox zur Laufzeit zur Anwendung bestimmte Curl-Requests sendet (zB 108.160.173.164), wurden die Anfragen von meinem Server blockiert.
White-Auflistung aller Verbindungen zu 108.160.xxx.xxx half, diesen Fehler zu beheben.

Verwandte Themen