我正在尝试使用silverstripe进行谷歌连接/ openid工作,但我收到此错误,我根本不理解它的错误。
[Notice] Trying to get property of non-object
GET /GoogleCallback/GoogleConnect
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array( 'Accept: application/xrds+xml')
));
$xml = curl_exec($ch);
$xml = simplexml_load_string($xml);
$discovery = $xml->XRD->Service->URI->__toString();
curl_close($ch);
$params = array(
'openid.mode' => 'checkid_setup',
'openid.ns' => 'http://specs.openid.net/auth/2.0',
PS:我正在使用这个模块https://github.com/MediaDevils/silverstripe-google-authentication
答案 0 :(得分:1)
告诉我们哪一行确切地触发了该错误会有所帮助,但我猜它会在
中$discovery = $xml->XRD->Service->URI->__toString();
您很可能没有得到预期的XML响应(可能有很多原因,因此模块本身可能不是您问题的根本原因)。例如,你可以转储$ xml变量的内容,以便更多地了解你得到的内容。像
这样的东西Debug::Dump($xml);
Debug::Dump(curl_error($ch));
在curl_exec($ ch)之后;
希望这有帮助