次のコードは、タイトルで述べたエラーを生成しています。
$authkey = "XXXXXXXXXXX";
if (!isset($_SESSION["steamid"])) {
$handle = fopen("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" . $authkey . "&steamids=" . $uid, "r");
$content = stream_get_contents($handle);
$stdclass = json_decode($content);
//var_dump($stdclass);
$data = get_object_vars($stdclass->response->players[0]);
foreach ($data as $key => $value) {
$_SESSION[$key] = $value;
}
同じ問題のstackoverflowに関する他の質問をここで読みましたが、実際の解決策はありませんでした。私が投稿したコードは、ある種のログインプロセスで呼び出される関数に含まれています。コードをドキュメントの外に置き、そのドキュメントをWebブラウザーで開いても、エラーは発生しません。また、コードは私のローカルマシンで機能しています。しかし、私のサーバーではエラーが発生します。
私のローカルマシンはphp5でubuntu12.04を実行し、外部サーバーubuntu8.04はphp5で実行します。allow_url_fopenは「オン」です。どんな助けでも素晴らしいでしょう。