Tôi đã làm việc qua các hướng dẫn của Ray Wenderlich về các thông báo đẩy bằng cách sử dụng Tập lệnh PHP.Thông báo Đẩy trong PHP bằng tệp PEM
tham khảo: 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
Tôi đã làm một tấn nghiên cứu nhưng tôi đã chạy vào một vấn đề về phần 2, nơi bạn chạy file push.php sử dụng file ck.pem.
/Applications/XAMPP/bin/php push.php development
khác biệt duy nhất của tôi là tôi đang sử dụng XAMPP và không MAMP.
Tôi đã xác nhận rằng tất cả các tiện ích đều được cài đặt.
tôi có thể kiểm tra giấy chứng nhận của tôi trong nhà ga bằng cách làm này:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
Nó hỏi tôi để nhập cụm từ mật khẩu của tôi và tôi làm. Tất cả mọi thứ hoạt động thành công trong thiết bị đầu cuối.
Tuy nhiên, khi tôi chạy file push.php, tôi nhận được các lỗi này:
PHP Warning: stream_socket_client(): hoạt động SSL thất bại với mã 1. OpenSSL Thông báo lỗi: lỗi: thói quen SSL: 14.090.086: SSL3_GET_SERVER_CERTIFICATE: giấy chứng nhận Kiểm định thất bại PHP Warning: stream_socket_client(): không thể cho phép crypto trong
PHP Warning: stream_socket_client(): không thể kết nối ssl: //gateway.sandbox.push.apple.com: 2195 (Vô danh lỗi) trên dòng 140
Dòng 140 trong p tập tin hp là:
$this->fp = stream_socket_client('ssl://' . $this->server, $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
tôi thấy những:
iOS push notification does not work when using crontab scheduler
https://devforums.apple.com/message/1054840#1054840
Tôi có nghĩa là thử lại tất cả mọi thứ. Tôi biết cụm từ mật khẩu của tôi là chính xác. Tôi đã tạo lại chứng chỉ, tệp pem và khóa của mình. Không có gì hiệu quả. Cùng một lỗi mỗi khi tôi làm điều này.
Tôi đang bối rối.
Có ai có bất kỳ đề xuất hoặc biết điều gì đang xảy ra không?
Cảm ơn bạn!
CẬP NHẬT 1:
Tôi cũng đã thử đặt đường dẫn đầy đủ tới tệp ck.pem không sửa lỗi đó.
Bạn có chắc bạn xuất khẩu sang đuôi .p12 của bạn một cách chính xác? Đảm bảo bạn đã lấy khóa riêng tư và không chỉ khóa công khai khi bạn xuất khóa từ keychain – Emilie
@Emilie Tôi chỉ xuất khóa riêng tư. Tôi đã không xuất khóa công khai vì hướng dẫn cũng không cho tôi biết. –
giá trị '$ ctx' là gì và tùy chọn nào được đặt trên đó? – oflannabhra