Я работаю над учебниками Ray Wenderlich по push-уведомлениям с помощью PHP Script.
Ссылка: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
http://www.raywenderlich.com/32963/apple-push-notification-services-in-ios-6-tutorial-part-2
Я провел много исследований, но я столкнулся с проблемой на части 2, где вы запускаете файл push.php, используя файл ck.pem.
/Applications/XAMPP/bin/php push.php development
Моя единственная разница в том, что я использую XAMPP, а не MAMP.
Я подтвердил, что все расширения установлены.
Я могу проверить свой сертификат в терминале, выполнив следующее:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
Он просит меня ввести кодовую фразу, и я это делаю. Все успешно работает в терминале.
Однако, когда я запускаю файл push.php, я получаю следующие ошибки:
Предупреждение PHP: stream_socket_client(): Ошибка операции SSL с кодом 1. Сообщения об ошибках OpenSSL: Ошибка: 14090086: SSL-процедуры: SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена PHP Warning: stream_socket_client(): Не удалось включить криптографию в
Предупреждение PHP: stream_socket_client(): невозможно подключиться к ssl://gateway.sandbox.push.apple.com: 2195 (Неизвестная ошибка) в строке 140
Строка 140 в файле php:
$this->fp = stream_socket_client('ssl://' . $this->server, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
Я нашел их:
Уведомление push iOS не работает при использовании планировщика crontab
https://devforums.apple.com/message/1054840#1054840
Я буквально повторил все. Я знаю, что моя кодовая фраза верна. Я повторно создал свои сертификаты, файлы pem и ключи. Ничего не работает. Такая же ошибка каждый раз, когда я это делаю.
Я не смущен.
Есть ли у кого-нибудь предложения или знать, что происходит?
Спасибо!
ОБНОВЛЕНИЕ 1:
Я также попытался установить полный путь к файлу ck.pem, который также не исправляет ошибку.