Я пытался выполнить простую запись в Google Cloud Bucket, используя пример php, предоставленный Google. Моя проблема в том, что мой удаленный Google Cloud VM Server, похоже, не работает должным образом. Я следовал всем инструкциям на сайте, кроме создания идентификатора клиента, потому что я уже создал 2, поэтому я использовал одну из них. Одна из проблем, которые я наблюдал, пытаясь реализовать это, заключается в том, что php не включает библиотеки облачного хранилища Google. Я скачал git, как указано на сайте, и даже включил путь в php.ini. Это то, что я включил
include_path = ".:/usr/bin/php:/google-api-php-client/src"
Я обнаружил, что даже после добавления этого, когда я пытаюсь запустить
<?php file_put_contents('gs://myappid.appspot.com/hello.txt', 'Hello');?>
Я получаю ошибку Unable to find wrapper 'gs//'
, Даже добавляя require_once(google-api-php-client/autoload.php)
не решает проблему. После того, как я добавил require_once … мой код не проходит эту точку. Он не выдает ошибку, он просто перестает работать. Я заблудился от того, как хранить файлы в моем хранилище с помощью php. Я строго следую инструкциям в Google, но ничего не работает.
Оболочка gs: // предоставляется только в Google App Engine, но не в Google Compute.
Если у вас есть права на чтение и запись в вашем google compute engine, gcloud или gsutil уже должны быть установлены. Затем попробуйте использовать обычные команды gsutil, такие как:
exec("/usr/bin/gsutil -m cp -R file.png gs://bucket/images/", $output, $image_return);
Войдите в свой компьютерный движок и попробуйте как gsutil ls