php-gds-сеанс Класс LookupRequest не найден - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь перенести свое приложение на Google App Engine php7.2. Основная проблема в том, что сессии хранятся в Memcache. Но мне нужны более последовательные сессии.

Я нашел хороший репо, который должен решить проблему https://github.com/tomwalder/php-gds-session Но он выдает ошибку после установки и включения.

Ошибка: класс 'google \ appengine \ datastore \ v4 \ LookupRequest' не найден в GDS \ Gateway \ ProtoBuf-> fetchByKeyPart (/srv/vendor/tomwalder/php-gds/src/GDS/Gateway/ProtoBuf.php:179) в GDS \ Gateway-> fetchByNames (/srv/vendor/tomwalder/php-gds/src/GDS/Gateway.php:194) в GDS \ Gateway-> fetchByName (/srv/vendor/tomwalder/php-gds/src/GDS/Gateway.php:122) в GDS \ Store-> fetchByName (/srv/vendor/tomwalder/php-gds/src/GDS/Store.php:184) в GDS \ Session \ Handler-> read (/srv/vendor/tomwalder/php-gds-session/src/GDS/Session/Handler.php:176) at session_start ([внутренняя функция]) в GDS \ Session \ Handler :: start (/srv/vendor/tomwalder/php-gds-session/src/GDS/Session/Handler.php:105) на {main} (/srv/bootstrap.php:12)

Кто-нибудь может помочь?

мой композитор.json:

"require": {
    "php": ">=5.3.0",
    "google/cloud-logging": "^1.16",
    "google/cloud-error-reporting": "^0.14.4",
    "google/cloud-storage": "^1.12",
    "google/cloud-datastore": "^1.9",
    "monolog/monolog": "^1.24",
    "league/flysystem-sftp": "^1.0",
    "aws/aws-sdk-php": "^3.94",
    "vlucas/phpdotenv": "^3.3",
    "php-http/guzzle6-adapter": "^1.1",
    "bugsnag/bugsnag": "^3.16",
    "mailgun/mailgun-php": "~2.0",
    "paragonie/random_compat": "<9.99",
    "tomwalder/php-gds-session": "v1.0.0",
    "google/apiclient": "^2.2"
  }

поверх bootstrap.php

// Fix for finding Application-ID on GAE
if(!isset($_SERVER['APPLICATION_ID'])){
   $_SERVER['APPLICATION_ID'] = $_SERVER['GAE_APPLICATION'];
}
GDS\Session\Handler::start();

Ответы [ 2 ]

0 голосов
/ 06 июля 2019

Я автор PHP-GDS. причина этого заключается в том, что новые среды выполнения PHP 7.x не поддерживают тот же тип поддержки ProtoBuf. * ​​1001 *

Альтернатива REST должна работать.

Я посмотрю на библиотеку и посмотрю, смогу ли я предоставить версию, которая поддерживает шлюз REST.

0 голосов
/ 01 июля 2019

Вы можете попробовать изменить код php-gds-session с use GDS\Gateway\ProtoBuf; на use GDS\Gateway\RESTv1; и new Store($this->createSchema(), new ProtoBuf()); до new Store($this->createSchema(), new RESTv1());

...