2016-08-30 2 views
0

PHP 용 드롭 박스 API를 사용 중이며 upload and download files from the dropbox에 작은 앱을 개발했습니다.PHP 용 Dropbox API가 로컬 호스트에서 작동하지만 서버에서는 작동하지 않습니다.

내 로컬 컴퓨터 (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 

가 어떻게이 문제를 해결할 수 있습니다 여기에

오류인가?

편집 :

<?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); 
?> 

편집 : 여기가 스택 추적입니다 :

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


문제는 컬 요청이 보관 용 API에 의해 전송되는로했다 다음 내 코드입니다. Dropbox가 curl 요청을 런타임에 결정된 IP (예 : 108.160.173.164)로 보내면 요청이 내 서버에 의해 차단되고 있습니다.
108.160.xxx.xxx에 대한 모든 연결을 흰색으로 나열하면이 오류를 해결하는 데 도움이됩니다.

관련 문제