A client error occurred: Could not create storage directory: /tmp/Google_Client/00

只愿长相守 提交于 2019-12-30 07:00:07

问题


What does this error mean with the Youtube API v3.0:

A client error occurred: Could not create storage directory: /tmp/Google_Client/00

I am using the PHP Youtube API on Google's documentation found here.


回答1:


I solved this problem without changing any line of Google API. In your php code, you juste need to specify where you want the cache folder to be:

$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

It works fine for me using the Google Calendar Service.




回答2:


I was having a similar issue. I am on a shared hosting.

I was working on youtube api which was asking me to create Google_Client folder under the main \tmp on the server. Due to restriction that was not happening so I went into the

google-api-php-client/src/conifg.php and changed the following line.

    /***********************************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',

Then I created a tmp directory under google-api-php-client/src

Then I created a Google_Client directory under google-api-php-client/src/tmp

This worked for me. Hope this helps. If yes then mark it as answer as many folks are having the same problem.




回答3:


For me,

at Config.php line94:

change >> 'directory' => sys_get_temp_dir() . '/Google_Client'

for >> 'directory' => '../tmp/Google_Client'

or any other dir you want




回答4:


Probably easier/better ways to do this, but i'm on my own macbook air:

i'm running xampp. I'm using the default 'htdocs' dir, '/Applications/XAMPP/htdocs'.

so i:

  1. went to that htdocs dir and ran "mkdir tmp; chmod 777 tmp"

  2. commented out original ioFileCache_directory line and added my own:

    // IO Class dependent configuration, you only have to configure the values // for the class that was configured as the ioClass above

    'ioFileCache_directory' => '/Applications/XAMPP/htdocs/tmp/GoogleClient',

    /* 'ioFileCache_directory' => (function_exists('sys_get_temp_dir') ? sys_get_temp_dir() . '/Google_Client' : '/tmp/Google_Client'), */

That's it. Don't think I had to restart Apache.




回答5:


Use this in your PHP code:

$client = new Google_Client();
$client->setCache(new Google_Cache_File('/path/to/shared/cache'));



回答6:


Are you Super-User?

su
password

and it worked for me



来源:https://stackoverflow.com/questions/17282894/a-client-error-occurred-could-not-create-storage-directory-tmp-google-client

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!