Невозможно подключиться к ssl: //gateway.push.apple.com: 2195 (соединение отклонено) - PullRequest
0 голосов
/ 27 августа 2018

Я внедрил Push-уведомления в свой проект в Codeigniter (php) несколько лет назад, и все работало нормально до 10 дней назад. Мой .pem файл отлично работает на моем локальном сервере, а также в онлайн-инструментах уведомлений.

Ошибка: «stream_socket_client (): невозможно подключиться к ssl: //gateway.push.apple.com: 2195 (подключение отказался) ".

Я использую следующую функцию:

public function applePushSend($deviceToken, $msg){

            $mode ='prod';

            $ctx = stream_context_create();

            if($mode=='dev'){
                $gateway = 'ssl://gateway.sandbox.push.apple.com:2195';
                stream_context_set_option($ctx, 'ssl', 'local_cert', 'pushcert_dev.pem');
            }else{
                $gateway = 'ssl://gateway.push.apple.com:2195';
                stream_context_set_option($ctx, 'ssl', 'local_cert', 'pushcert_prod.pem');
            }

            $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

            if (!$fp){
            }else{

                $alert = array();
                $alert['title'] = "My Message";
                $alert['body'] = $msg;
                $body['aps']['alert'] = $alert;
                $body['aps']['badge'] = 1;
                $body['aps']['sound'] = 'default';
                $body['notificationtypeid'] = 4;

                $payload = json_encode($body);
                $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
                $pushresult = fwrite($fp, $msg, strlen($msg));
            }
            fclose($fp);
            return($pushresult);
        }

1 Ответ

0 голосов
/ 28 августа 2018

Я изменяю код на:

$streamContext = stream_context_create(array('ssl' => array(
                      'local_cert' => $this->_sProviderCertificateFile
                    )));

Это работает как шарм!

...