2011-04-26 32 views
4

私のローカルホストから私のiDevicesにプッシュ通知を送信しようとしていますが、すべて正常に動作しますが、PHPエラーログには以下の警告が表示されます。プッシュ通知フォームを送信するPHP

注:私は、すべてのデバイスにプッシュを受ける

WARNING:

PHP Warning: socket_close(): supplied resource is not a valid Socket resource in /Applications/MAMP/htdocs/Push/SendPush.php on line xxx 

マイコードの一部:偽

//.... 
$streamContext = stream_context_create(); 
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert); 

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext); 
//... 

socket_close($apns); 
fclose($apns); 

答えて

8

ほとんどの場合、アップルはペイロードを受信した後に接続を終了しています。私は、IF(...){}そうウルコードを追加{エコー "..."}ハロー

@socket_close($apns); 
1

stream_socket_client()リターンがあった場合エラー。あなたが明示的にそれをテストする必要があります

$エラー/ $ errorStringには、あなたがstream_socket_client()の呼び出しで指定したものです
$apns = stream_socket_client(...); 
if ($apns === FALSE) then 
    die("Error while getting stream socket ($error): $errorString"); 
} 

+0

;警告をサイレンシングする

は、次の変更を行います私は他の魔法使いが平均$ apns == Trueを返すようになったが、まだ警告が出ている –

関連する問題