首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dropbox用于PHP是在本地主机上工作,而不是在服务器上工作。

Dropbox用于PHP是在本地主机上工作,而不是在服务器上工作。
EN

Stack Overflow用户
提问于 2016-08-30 11:05:40
回答 1查看 538关注 0票数 0

我正在使用dropbox,并为从dropbox上传和下载文件开发了一个小应用程序。

这在我的本地机器(使用WAMP)上运行良好,但如果我将它上传到服务器上,则无法工作。

以下是一个错误:

致命错误:异常“Dropbox\Exception_NetworkIO”,消息“执行HTTP请求时出错:”in /Dropbox/lib/Dropbox/curl.php:73

以下是服务器上的cURL设置:

代码语言:javascript
复制
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

我怎么解决这个问题?

编辑:下面是我的代码:

代码语言:javascript
复制
<?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);
?>

编辑:这是堆栈跟踪:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2016-09-13 10:31:55

问题在于dropbox发送的卷曲请求。当dropbox将卷曲请求发送到在运行时决定的IP时(例如。108.160.173.164),请求被我的服务器阻止了。

白名单显示到108.160.xxx.xxx的所有连接有助于解决此错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39225811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档