0

LightOpenID(http://gitorious.org/lightopenid)をダウンロードしましたが、機能しましたが、数日前に停止しました。私のコード:

<?php
require 'openid.php';
try {
if(!isset($_GET['openid_mode'])) {
    if(isset($_GET['login'])) {
        $openid = new LightOpenID('my-domain.com');
        $openid->identity = 'https://www.google.com/accounts/o8/id';
            $openid->required = array('namePerson/friendly', 'contact/email');
        header('Location: ' . $openid->authUrl());
    }
?>
<form action="?login" method="post">
<button>Login with Google</button>
</form>
<?php
} elseif($_GET['openid_mode'] == 'cancel') {
    echo 'User has canceled authentication!';
} else {
    $openid = new LightOpenID('my-domain.com');
    echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
echo '<pre>'.print_r($openid,true).'</pre>';
?>

ローカルホストでは機能しますが、Webサーバーでは機能しません。

編集:古いバージョンのLightOpenIDを見つけましたが、動作します。

4

1 に答える 1

0

request_streams() メソッドに問題があります。352 行目をコメント化し、return $data; に置き換えることで解決しました。

//return file_get_contents($url, false, $context);
return $data;
于 2012-11-20T17:42:45.043 に答える