2016-09-02 7 views
-1

apnsを使用して通知を送信しようとしています。私はPHPでメッセージを送信する機能を作っていました。 "stream_socket_client():ssl://gateway.sandbox.push.apple.com:2195(Connection refused)に接続できません"というエラーが表示されます。このコードはローカルサーバー上で正常に動作します。しかし、私は肝臓サーバーがエラーを取得するのを確認しました。コードは以下のとおりですPHPでエラーが発生しましたstream_socket_client():sslに接続できません://gateway.sandbox.push.apple.com:2195(Connection refused)

$this->set_url(); 
$ctx = stream_context_create(); 
stream_context_set_option($ctx, 'ssl', 'local_cert', $this->pem_file); 
stream_context_set_option($ctx, 'ssl', 'passphrase', '1'); 

$fp = stream_socket_client($this->get_url(), $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx); 
$sound = 'default'; 
$badge = 0; 
$body = $this->get_message(); 
$data['key'] = $body['key']; 
$data['sound'] = $sound; 
$data['badge'] = $badge + 1; 
$data['alert'] = $body['message']; 
if (isset($body['extra'])) 
    $data['extra'] = $body['extra']; 
    $apn_data['aps'] = $data; 
    $payload = json_encode($apn_data); 
    $msg = chr(0) . pack('n', 32) . pack('H*', $this->get_device()) . pack('n', strlen($payload)) . $payload; 
    $result = fwrite($fp, $msg, strlen($msg)); 
    fclose($fp); 

答えて

3

発信管理用にポート2195を開くようにサーバー管理者に依頼してください。 問題を解決します。

関連する問題