mkdir错误。没有权限。谷歌api

时间:2015-10-29 16:27:45

标签: google-api file-permissions mkdir

我正在尝试使用Google API的服务帐户使用php添加日历事件。我已经在网站上完美地工作了。当我将它移动到同一服务器上的另一个站点时,我突然开始收到以下错误消息:

~PHP警告:mkdir():Google / Cache / File.php中的权限被拒绝

〜未捕获的异常'Google_Cache_Exception',消息'无法创建存储目录:在Google / Cache / File.php中

据我所知,这两种环境完全相同 〜相同的服务器 〜所有文件/文件夹的相同权限 〜相同的凭据 〜这两个URL都在Google控制台中授权

我查看了我的服务器,看看上述回答here中的内容是否可能成为问题,但确信所有内容都已正确设置。

我已经做了很多搜索和阅读,但无法想象当一切从其他网站完美运行时可能导致这些错误的原因。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

如果有人遇到这个:我按照这里给出的建议解决了这个问题: A client error occurred: Could not create storage directory: /tmp/Google_Client/00

具体来说,我在我的tmp目录中手动添加嵌套文件夹(谷歌和缓存),然后使用此代码为谷歌设置路径(来自上面的链接):

$config = new Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => '../../tmp/google/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);

答案 1 :(得分:1)

将此PHP代码添加到您的脚本中:

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

答案 2 :(得分:1)

如果还有人需要这样做。我正在使用Codeigniter,最近从Windows 7转移到Mac上的osx el capitan。我的google缓存文件夹具有管理权限读写但错误仍然存​​在:mkdir权限被拒绝,在google / cache / file.php

我查看了我的代码,我加载了google api并添加了>

$config = new Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => 'application/third_party/Google/src/Google/Cache/'));
$client = new Google_Client($config);

因此,使用这些行设置缓存文件夹。

希望这有助于将来,因为它帮助了我。