0
$ctx = stream_context_create(); 
    stream_context_set_option($ctx, 'ssl', 'local_cert', "pushNEWPEM12.pem"); 
    stream_context_set_option($ctx, 'ssl', 'passphrase',$passphrase); 
    // Open a connection to the APNS server 
    $fp = stream_socket_client(
     'ssl://gateway.push.apple.com:2195', $err, 
     $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); 
    if (empty($fp)) 
     exit("Failed to connect: $err $errstr" . PHP_EOL); 
    // Create the payload body 
    $body['aps'] = array(
     'alert' => array(
      'title' => 'Together', 
      'body' => $offer_title, 
      "content-available" => 1 
     ), 
     'sound' => 'default' 
    ); 
    // Encode the payload as JSON 
    $payload = json_encode($body); 
    // Build the binary notification 
    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; 
    // Send it to the server 
    $result = fwrite($fp, $msg, strlen($msg)); 

    // Close the connection to the server 
    fclose($fp); 
    if (!$result) 
     return 'Message not delivered' . PHP_EOL; 
    else 
     return 'Message successfully delivered' . PHP_EOL; 
     } 

// ошибка В терминалеуведомление Нажмите не работает ошибка в терминале, пока я буду испытывать в терминале

Mac-мини: PushNotification об $ PHP simplepush.php

Предупреждение: stream_socket_client(): операция SSL не удалось с кодом 1. сообщения об ошибках OpenSSL: ошибка: 14090086: SSL процедуры: SSL3_GET_SERVER_CERTIFICATE: сертификат верифицировать неудачу в /Users/vol/Desktop/PushNotification/simplepush.php на линии 21

Предупреждение: Strea m_socket_client(): Не удалось включить криптографию в /Users/vol/Desktop/PushNotification/simplepush.php на линии 21

Предупреждение: stream_socket_client(): невозможно подключиться к SSL: //gateway.sandbox.push.apple. ком: 2195 (неизвестная ошибка) в /Users/vol/Desktop/PushNotification/simplepush.php в строке 21 Не удалось подключиться: 0 Vol-Mac-мини: PushNotification об $

`Я работаю с нажатием уведомления. Если я использую профиль/сертификат сертификата dev и тестирование в терминале, он показывает такую ​​ошибку.

+0

показать ваш код php –

+0

Для того, чтобы разворачивать его в процессе производства, вам нужно сделать только два изменения, изменить URL-адрес для производственного URL-адреса и изменить файл .pem живых учетных данных. – Bhavin

+0

@Bhavin Не могли бы вы объяснить ваш ответ. – Loki

ответ

0

Есть три случая вы можете проверить на вашем конце: -

1) Убедитесь, что вы использовали правильный сертификат производства на вашей стороне сервера. Поскольку нам нужно создать два разных сертификата для производства и песочницу. Убедитесь, что вы используете правильный сертификат на сервере.

2) Вы можете проверить, что вы использовали правильный шлюз и номер порта на стороне сервера. Поскольку шлюз для производства и песочница разные. Шлюз, используемый для производства: - gateway.push.apple.com. а также вы используете правильный пароль на сервере для своего сертификата, который вы использовали на своем сервере.

3) Вы можете проверить, включено ли уведомление на вашем устройстве или нет. Вам также нужно включить его на свой iPhone. Убедитесь, что на вашем устройстве.

Дайте мне знать, если это сработает для вас.