Что означает эта ошибка с Youtube API v3.0:
A client error occurred: Could not create storage directory: /tmp/Google_Client/00
Я использую API PHP Youtube в документации Google, найденной здесь .
Я решил эту проблему, не меняя ни одной линии API Google. В вашем php-коде вам нужно указать, где вы хотите, чтобы кэш-папка была:
$config = new Google_Config(); $config->setClassConfig('Google_Cache_File', array('directory' => '../tmp/cache')); // Here I set a relative folder to avoid pb on permissions to a folder like /tmp that is not permitted on my mutualised host $client = new Google_Client($config); // And then, you pass the config for your GoogleClient
Он отлично работает для меня с помощью Службы календаря Google.
У меня была аналогичная проблема. Я нахожусь на общем хостинге.
Я работал над youtube api, который просил меня создать папку Google_Client в главном \ tmp на сервере. Из-за ограничений, которых не было, поэтому я вошел в
google-api-php-client / src / conifg.php и изменил следующую строку.
/***********************************Shared server therefore cannot write to server's /tmp drive therefore using an alternate location*************************************************/ //'ioFileCache_directory' => (function_exists('sys_get_temp_dir') ? sys_get_temp_dir().'/Google_Client' : '/tmp/Google_Client'), 'ioFileCache_directory' => 'tmp/Google_Client',
Затем я создал tmp-каталог под google-api-php-client / src
Затем я создал каталог Google_Client в google-api-php-client / src / tmp
Это сработало для меня. Надеюсь это поможет. Если да, то отметьте это как ответ, поскольку у многих людей есть одна и та же проблема.
Для меня,
в Config.php line94:
change >> 'directory' => sys_get_temp_dir (). '/ Google_Client'
для >> 'directory' => '../tmp/Google_Client'
или любой другой каталог, который вы хотите
Наверное, это проще и лучше, но я нахожусь на собственном macbook воздухе:
Я запускаю xampp. Я использую по умолчанию 'htdocs' dir, '/ Applications / XAMPP / htdocs'.
так что я:
отправился в этот каталог htdocs и запустил «mkdir tmp; chmod 777 tmp»,
закомментировал оригинальную строку ioFileCache_directory и добавил свой собственный:
// Конфигурация, зависящая от IO, вам нужно только настроить значения // для класса, который был настроен как ioClass выше
'ioFileCache_directory' => '/ Applications / XAMPP / htdocs / tmp / GoogleClient',
/ * 'ioFileCache_directory' => (function_exists ('sys_get_temp_dir')? sys_get_temp_dir (). '/ Google_Client': '/ tmp / Google_Client'), * /
Вот и все. Не думайте, что мне пришлось перезапустить Apache.
Используйте это в своем PHP-коде:
$client = new Google_Client(); $client->setCache(new Google_Cache_File('/path/to/shared/cache'));
Вы суперпользователь?
su password
и это сработало для меня