4

这个错误对 Youtube API v3.0 意味着什么:

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

我在此处找到的 Google 文档中使用 PHP Youtube API 。

4

6 回答 6

13

我在不更改任何 Google API 行的情况下解决了这个问题。在您的 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 日历服务对我来说效果很好。

于 2014-11-26T20:19:28.907 回答
3

我遇到了类似的问题。我在共享主机上。

我正在研究 youtube api,它要求我在服务器上的主 \tmp 下创建 Google_Client 文件夹。由于没有发生限制,所以我进入了

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

然后我在 google-api-php-client/src 下创建了一个 tmp 目录

然后我在 google-api-php-client/src/tmp 下创建了一个 Google_Client 目录

这对我有用。希望这可以帮助。如果是,则将其标记为答案,因为许多人都遇到同样的问题。

于 2014-01-24T04:42:15.297 回答
2

为了我,

在 Config.php 第 94 行:

更改 >> '目录' => sys_get_temp_dir() 。'/Google_Client'

对于 >> '目录' => '../tmp/Google_Client'

或您想要的任何其他目录

于 2014-10-03T11:12:12.000 回答
0

可能更容易/更好的方法来做到这一点,但我在我自己的 macbook air 上:

我正在运行 xampp。我正在使用默认的“htdocs”目录“/Applications/XAMPP/htdocs”。

所以我:

  1. 去那个 htdocs 目录并运行“mkdir tmp; chmod 777 tmp”

  2. 注释掉原始 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。

于 2014-02-06T05:25:17.770 回答
0

你是超级用户吗?

su
password

它对我有用

于 2016-04-26T15:08:17.950 回答
0

在您的 PHP 代码中使用它:

$client = new Google_Client();
$client->setCache(new Google_Cache_File('/path/to/shared/cache'));
于 2016-02-08T20:25:13.510 回答