0

我按照本教程在我的 Yii2 应用程序上使用 facebook 登录:https ://mushtaqtahir.com/blog/2/facebook-authentication-using-yii2-authclient

它工作了几个月没有问题,但突然出现了问题。当我尝试登录时,在成功登录 Facebook 后返回错误 502 并返回应用程序。我尝试在服务器上重新启动 PHP FPM。PHP重新启动后它只工作一次,但之后继续失败。

我检查了 nginx 错误日志,发现了这个:

2017/05/31 05:49:30 [error] 7368#7368: *151 recv() failed (104: Connection reset by peer) 
while reading response header from upstream, client: 103.47.104.104, server: my.app, request: 
"GET /site/auth?authclient=facebook&code=AQA5h_.....gIdRKg&state=6a424...7efc 
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "my.app"

可能是什么问题?

4

1 回答 1

1

解决了!感谢@vijay-nathji 指出了正确的方向!

这实际上是 PHP 7 中的一个错误(Bug #73310 PECL OAuth segfaults when OPcache is enabled in PHP 7)。这个问题应该在 PHP 7.1.3 中修复,但我需要一个快速的解决方案。

所以我所做的只是在处理 Facebook 登录的特定功能上禁用 OPC。我补充说frontend/config/main.php

'on beforeRequest' => function(){
    if(strpos($_SERVER['REQUEST_URI'], 'auth') !== false){
        ini_set('opcache.enable', false);
    }
},
于 2017-06-01T04:47:36.313 回答