Google Oauth2.0 Пакет CA Sytem не найден
Вот мой код
require_once 'core_php/google-api-php-client-2.0.2_PHP54/vendor/autoload.php';
session_start();
$client = new Google_Client();
$client->setAuthConfigFile
($_SERVER['SR_WEB_CPANEL_PATH'].'asserts/php/client_secret.json');
$client->setRedirectUri('http://..../googleapi/oauth2callback.php');
$client->addScope(Google_Service_Drive::DRIVE_METADATA_READONLY);
if (! isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
$client->setHttpClient(new GuzzleHttp\Client(['verify'=>'C:/Windows/System32/curl-ca-bundle.crt']));
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect_uri = '/googleapi/index.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
Тогда это имеет фатальную ошибку:
Неустранимая ошибка: необработанное исключение "RuntimeException" с сообщением "Ни в одном из общих местоположений системы не найдено ни одного пакета ЦС системы. Версии PHP, предшествующие 5.6, не настроены должным образом для использования пакета CA системы по умолчанию. Чтобы проверить сертификаты одноранговых узлов, вам нужно будет указать путь на диске к комплекту сертификатов для параметра запроса проверки: http://docs.guzzlephp.org/en/latest/clients.html#verify. Если вам не нужен конкретный пакет сертификатов, то Mozilla предоставляет обычно используемый пакет CA, который можно скачать здесь (предоставлен сопровождающим cURL): https://raw.githubusercontent.com/bagder/ca-bundle/master/ ча-bundle.crt. Когда у вас есть доступный CA-пакет на диске, вы можете установить PHP ini 'openssl.cafile', указав путь к файлу, что позволит вам пропустить опцию 'verify' запроса. См. Http://curl.haxx.se/docs/sslcerts.html для получения дополнительной информации.
Я использую PHP 5.4. Я попытался загрузить пакет CA по ссылке, указанной в сообщении об ошибке. И добавил две строки в php.ini
openssl.cafile = 'C:/Windows/System32/curl-ca-bundle.crt'
curl.cainfo = 'C:/Windows/System32/cacert.pem'
И это все еще не работает.
Кто-нибудь может помочь? Огромное спасибо.
1 ответ
На самом деле, я не знаю, что происходит. Я наконец установил PHP 5.6.