2014-11-12 13 views
16

không thể có được điều này nhận được các lỗi khi chạy PHP trong thiết bị đầu cuối như php simplepush.phpcảnh báo: stream_socket_client(): không thể đặt tập tin khóa riêng

Warning: stream_socket_client(): Unable to set private key file `/users/accenture/Desktop/newAPNS/ck.pem' in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): failed to create an SSL handle in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): Failed to enable crypto in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /users/accenture/Desktop/newAPNS/simplepush.php on line 22 

Failed to connect: 0 

Tôi tạo ra tất cả các chứng chỉ và tập tin pem bằng cách sử dụng bài viết raywenderlich , http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1#comments

+0

Bạn có thể cho chúng ta thấy chmod của: '' '/ người dùng/Accenture/Desktop/newAPNS /' ''? – ChoiZ

+0

accenture: newAPNS accenture: $ php simplepush.php – kumar

+0

cách sử dụng: \t chmod [-fhv] [-R [-H | -L | -P]] [-a | + a | = a [i] [# [n]]] chế độ | tệp nhập ... chmod [-fhv] [-R [-H | -L | -P]] [-E | -C | -N | -i | -I] tập tin ... – kumar

Trả lời

49

vấn đề là tập tin pem là không đúng, tôi đã tạo tập tin pem sử dụng http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1. Tạo tệp p12 và với p12 tạo tệp pem không hoạt động đối với tôi. Quy trình đúng để tạo p12 và với p12 tạo tệp pem dưới đây

Khi bạn có chứng chỉ từ Apple cho ứng dụng của mình, hãy xuất khóa của bạn và chứng chỉ Apple dưới dạng tệp p12. Dưới đây là hướng dẫn nhanh về cách thực hiện việc này:

  1. Nhấp vào mũi tên tiết lộ bên cạnh chứng chỉ của bạn trong Keychain Truy cập và chọn chứng chỉ và khóa.
  2. Nhấp chuột phải và chọn Xuất 2 mục….
  3. Chọn định dạng p12 từ menu thả xuống và đặt tên là cert.p12.

Bây giờ chuyển đổi các tập tin vào một tập tin p12 pem:

$ openssl pkcs12 -in cert.p12 out apple_push_notification_production.pem -nodes -clcerts

này đang làm việc cho tôi, bây giờ tôi nhận được thông báo đẩy.

+0

@norganik Cảm ơn bạn Soooo nhiều. Điều này đã được grate .. nó hoạt động –

+0

Điều này đã cứu tôi rất nhiều thời gian.Cảm ơn bạn rất nhiều! – Offek

+0

Đây là giải pháp - BIG THANKS !!!! –

-3

Đây là giải pháp cho các dịch vụ thông báo reywenderlich Apple Push Tutorial

$deviceToken = ''; //Enter your token number 
// Put your private key's passphrase here: 
$passphrase = '1234';//Enter ck.pem 's password 
// Put your alert message here: 
$message = 'My first push notification!'; 
0

tôi đã theo một hướng dẫn youtube đó là gần giống như bài viết raywenderlich. Tôi vừa quên thêm cụm từ PEM pass. Sau khi thêm nó, như mô tả here, nó làm việc:

stream_context_set_option($ctx, 'ssl', 'passphrase', 'MyPassPhrase'); 
Các vấn đề liên quan