#php #linux #dropbox #dropbox-api #dropbox-php
#php #linux #dropbox #dropbox-api #dropbox-php
Вопрос:
Я загружал dropbox-php-sdk. Хорошо, затем я пишу скрипт на php:
<?php
require_once "dropbox-sdk-php-1.1.6/lib/Dropbox/autoload.php";
use Dropbox as dbx;
$dropbox_config = array(
'key' => 'fasgsasgas',
'secret' => 'gasawggasg'
);
$appInfo = dbxAppInfo::loadFromJson($dropbox_config);
$webAuth = new dbxWebAuthNoRedirect($appInfo, "PHP-Example/1.0");
$authorizeUrl = $webAuth->start();
echo "1. Go to: " . $authorizeUrl . "<br>";
echo "2. Click "Allow" (you might have to log in first).<br>";
echo "3. Copy the authorization code and insert it into $authCode.<br>";
$authCode = trim('eadasfafasfasfasfffffasfasfsafsafsafsafsafafa');
list($accessToken, $dropboxUserId) = $webAuth->finish($authCode);
echo "Access Token: " . $accessToken . "<br>";
$dbxClient = new dbxClient($accessToken, "PHP-Example/1.0");
$accountInfo = $dbxClient->getAccountInfo();
print_r($accountInfo);
?>
Когда я запускаю этот скрипт, у меня есть вывод:
root@iredmail:/var/www/test.tl# php test2.php
PHP Fatal error: Uncaught exception 'Exception' with message 'The Dropbox SDK requires the cURL PHP extension, but it looks like you don't have it (couldn't find function "curl_init"). Library: "/var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/RequestUtil.php".' in /var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/RequestUtil.php:5
Stack trace:
#0 /var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/autoload.php(27): require_once()
#1 [internal function]: Dropboxautoload('DropboxRequest...')
#2 /var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/WebAuthBase.php(14): spl_autoload_call('DropboxRequest...')
#3 /var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/WebAuthNoRedirect.php(56): DropboxWebAuthBase->_getAuthorizeUrl(NULL, NULL)
#4 /var/www/test.tl/test2.php(14): DropboxWebAuthNoRedirect->start()
#5 {main}
thrown in /var/www/test.tl/dropbox-sdk-php-1.1.6/lib/Dropbox/RequestUtil.php on line 5
Где, у меня ошибка? Мне нужно получить информацию об учетной записи. Но я не могу понять, где у меня ошибка.
Ответ №1:
Как указано в исключении, у вас не установлено расширение PHP cURL.
В зависимости от вашего дистрибутива Linux команда может отличаться, быстрый поиск в Google для «install php curl [дистрибутив]» даст вам ответ.
Если ваш дистрибутив использует apt-get, используйте следующее:
sudo apt-get install php5-curl
Не забудьте перезапустить apache.
Ответ №2:
Для использования Dropbox SDK необходимо установить расширение cURL… Согласно исключению.
Для Dropbox SDK требуется расширение cURL PHP, но, похоже, у вас его нет