douya5194 2019-06-12 13:57
浏览 72
已采纳

GAE PHP应用程序:无法找到包装器“gs”

I am writing some very simple code in the standard php73 Google App engine environment, following the documentation here: https://cloud.google.com/appengine/docs/standard/php/googlestorage/ and https://cloud.google.com/appengine/docs/standard/php/googlestorage/setup

php.ini (not required according to docs for this scenario, but just in case)

google_app_engine.allow_include_gs_buckets = "#default#"

index.php:

file_put_contents("gs://#default#/hello.txt", "some text");

and getting the following error from Google App Engine

file_put_contents(): Unable to find the wrapper "gs" - did you forget to enable it when you configured PHP?

As far as I can see from the documentation there should be no other configuration required, as GAE registers the file stream wrapper automatically in their environment.

What am I missing? Thanks!

  • 写回答

2条回答 默认 最新

  • doumou1864 2019-06-13 07:25
    关注

    So it turns out the documentation is for the PHP 5 environment not PHP 7 (though that's not stated). The way to get this working in PHP 7 is documented here:

    https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/php72/storage/src

    I just did this:

    use Google\Cloud\Storage\StorageClient; 
    function register_stream_wrapper($projectId) {   
        $client = new StorageClient(['projectId' => $projectId]);
        $client->registerStreamWrapper();
    }
    register_stream_wrapper("projectId");
    

    to register the wrapper.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?