files - mkdir error. Permiso denegado. google api
google drive api upload file (3)
Agregue este código PHP a su secuencia de comandos:
$client = new Google_Client();
$client->setCache(new Google_Cache_File(''/path/to/shared/cache''));
Estoy intentando usar una cuenta de servicio con la API de Google para agregar un evento de calendario usando php. Ya tengo esto funcionando perfectamente en un sitio. Cuando lo moví a otro sitio en el mismo servidor, de repente comencé a recibir los siguientes mensajes de error:
~ Advertencia PHP: mkdir (): Permiso denegado en Google / Cache / File.php
~ Excepción no detectada ''Google_Cache_Exception'' con el mensaje ''No se pudo crear el directorio de almacenamiento: en Google / Cache / File.php
Los dos entornos son idénticos, por lo que puedo decir ~ Mismo servidor ~ Mismos permisos en todos los archivos / carpetas ~ Mismas credenciales ~ Ambas URL autorizadas en la consola de Google
Comprobé con mi servidor si algo en la respuesta enviada aquí podría ser el problema, pero me aseguraron que todo estaba configurado correctamente.
He realizado muchas búsquedas y lecturas, pero no puedo imaginar qué podría estar causando estos errores cuando todo funciona perfectamente desde el otro sitio.
¡Cualquier ayuda sería muy apreciada!
En caso de que también alguien necesite hacer esto. Estoy trabajando con Codeigniter y recientemente me mudé a osx el capitan en Mac desde Windows 7. Mi carpeta de google cache tenía los permisos de administrador de lectura y escritura, pero el error persiste: mkdir permission denied, en google / cache / file.php
Miré mi código donde cargué la API de Google y agregué>
$config = new Google_Config();
$config->setClassConfig(''Google_Cache_File'', array(''directory'' => ''application/third_party/Google/src/Google/Cache/''));
$client = new Google_Client($config);
Entonces con esas líneas configuras tu carpeta de caché.
Espero que esto ayude en el futuro, ya que me ayudó.
En caso de que alguien se encuentre con esto: lo resolví siguiendo los consejos dados aquí: Se produjo un error del cliente: No se pudo crear el directorio de almacenamiento: / tmp / Google_Client / 00
específicamente, agregué manualmente las carpetas anidadas (google y caché) dentro de mi directorio tmp y luego establecí la ruta para google usando este código (desde el enlace de arriba):
$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);