mkdir错误.许可被拒绝.谷歌api



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

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

~未捕获异常"Google_Cache_exception",消息为"无法创建存储目录:在Google/Cache/File.php 中"

据我所知,这两种环境完全相同~相同的服务器~对所有文件/文件夹具有相同权限~相同的凭据~两个URLS都在谷歌的控制台中获得授权

我向我的服务器核实了一下,看看这里的投票结果是否有问题,但我确信一切都设置正确。

我已经做了很多搜索和阅读,但无法想象当其他网站的一切都很完美时,是什么导致了这些错误。

任何帮助都将不胜感激!

如果有人遇到这个问题:我按照这里给出的建议解决了这个问题:出现客户端错误:无法创建存储目录:/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);

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

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

如果任何人也需要这样做。我在Codeigniter工作,最近从windows7搬到了mac上的osx el capitan。我的谷歌缓存文件夹具有读写管理权限,但错误仍然存在:mkdir权限被拒绝,在google/cache/file.php 上

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

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

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

希望这对我的未来有所帮助。

最新更新