我正在尝试将我的应用程序迁移到php7.2。主要问题是会话存储在Memcache中。但我需要更多的持续时间。
我找到了一个很好的Repo,它可以解决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) at GDS\Gateway->fetchByNames (/srv/vendor/tomwalder/php-gds/src/GDS/Gateway.php:194) at GDS\Gateway->fetchByName (/srv/vendor/tomwalder/php-gds/src/GDS/Gateway.php:122) at GDS\Store->fetchByName (/srv/供应商/tomwalder/php-gds/src/GDS/Store.php:184)在GDS\Session\Handler->读取(/srv/vendor/tomwalder/php-gds-session/src/GDS/Session/Handler.php:176) at session_start (内部函数)在GDS\session_start\Handler::启动(/srv/vendor/tomwalder/php-gds-session/src/GDS/Session/Handler.php:105) at {main} (/srv/bootstrap.php:12)
有人能帮忙吗?
我的composer.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();发布于 2019-07-01 17:56:20
您可以尝试将php-gds-会话代码从use GDS\Gateway\ProtoBuf;更改为use GDS\Gateway\RESTv1,将new Store($this->createSchema(), new ProtoBuf());更改为new Store($this->createSchema(), new RESTv1());。
发布于 2019-07-06 18:24:00
我是PHP的作者。它失败的原因是新的PHP7.x运行时没有相同类型的ProtoBuf支持。
其他的选择应该有效。
我将查看这个库,看看是否可以提供支持REST网关的版本。
https://stackoverflow.com/questions/56627334
复制相似问题