2013-11-29 4 views
5

Итак, ive последовал за руководством по использованию GCS на своем сайте: https://developers.google.com/appengine/docs/php/googlestorage/Как использовать Google Cloud Storage для PHP?

Но следующий код не работает. Я не могу получить доступ к моему ведру, и CloudStorageTools даже не найден.

require_once 'google/appengine/api/cloud_storage/CloudStorageTools.php'; 
use google\appengine\api\cloud_storage\CloudStorageTools; 

// check if GCS bucket if writable 
$my_bucket = 'gs://my_bucket/'; 
$check1 = is_writable($my_bucket); //returns nothing 

class_exists("CloudStorageTools"); //returns false 

Я также добавил google_app_engine.allow_include_gs_buckets в файл php.ini. Все еще нет поддержки GCS.

У кого-нибудь есть какой-нибудь код, который они могли бы обменять?

+0

я вопросы получает ГКС работать на местном уровне. Он работает в App Engine без добавления сценария «require». Но я не понимаю, как заставить его работать локально, подавая иск в Google App Engine Launcher. Есть идеи? –

+0

Ты решил это? – suarsenegger

ответ

3

Я думаю, что это может иметь какое-то отношение к разрешениям, установленным для вашего ведра. Убедитесь, что вы добавили свою учетную запись электронной почты приложения. Настройки приложения -> Имя учетной записи службы.

Я портировал приложение без проблем и использовал Smarty для записи и включения из ведра. Я не обязан был объявлять:

require_once 'google/appengine/api/cloud_storage/CloudStorageTools.php'; 
use google\appengine\api\cloud_storage\CloudStorageTools; 

и приложение читает и записывает в ведро без проблем.

У меня были проблемы с некоторым переносом WordPress, хотя, несмотря на то, что ведро существовало и правильно настраивало разрешение доступа, по какой-то причине приложение вызывает Fatal Error, и я могу видеть его в журналах приложений, это приложение пыталось получить доступ облачное хранилище через gs: // wrapper.

Надеюсь, что это поможет.

+0

безупречный. Это работает. Смешно, что я использовал электронную почту приложения под новой консолью, найденной в настройках. Это электронное письмо не совпадает с адресом, указанным в настройках приложения, используя старую консоль. Возможно, Google должен изучить это. – viezel

-1

Привет чувак убедитесь, что вы ведро Общественный записи включен

использовать эту gsutil команды, чтобы сделать это (Google, как настроить gsutil утилиты)

$ gsutil acl ch -u AllUsers:W gs://example-bucket-name 
Смежные вопросы