2009-09-26 16 views
16

tôi đã cố gắng chạy sử dụng máy mac địa phương nhưng đi các lỗi sau đâycủa Apple Dịch vụ Push Notification

Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/apns/apns-dev.pem’ in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 9 

Warning: socket_close() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 11 

Warning: fclose() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/apns/apns.php on line 12 

tôi đã PEM cấp giấy chứng nhận được tạo ra từ máy khác,

Vì vậy, tôi hoàn toàn nhầm lẫn những gì tôi phải làm hiện nay.

Xin vui lòng cho tôi biết những gì tôi cần phải làm gì để chạy nó trong localhost

+0

tôi đang có proble cùng, tôi có thể chạy trong XAMPP Server nội bộ của tôi. Nhưng nó không hoạt động trong máy chủ bên ngoài của tôi. – Biranchi

+0

Hi Biranchi, Chỉ cần kiểm tra với nhà cung cấp Hosting của bạn cho danh sách trắng các cổng Điều đó sẽ giải quyết vấn đề của bạn –

Trả lời

60

Tôi nghĩ rằng bạn có thể đã xuất khẩu giấy chứng nhận, nhưng không phải là private key từ file cer mà nguồn cung cấp táo.

Những hướng dẫn từ markbates có thể giúp đỡ:

Khi bạn có chứng chỉ từ Apple cho ứng dụng của bạn, xuất khẩu chìa khóa của bạn và giấy chứng nhận táo như file p12. Đây là sự giải thích nhanh về cách để làm điều này:

  1. Nhấn vào việc tiết lộ mũi tên bên cạnh chứng chỉ của bạn trong Keychain Access và chọn chứng chỉ và các then chốt.
  2. Nhấp chuột phải và chọn Export 2 items….
  3. Chọn định dạng p12 từ menu thả xuống và đặt tên là cert.p12.

Bây giờ bí mật 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 
+0

hi jessecurry Cảm ơn rất nhiều đề nghị của bạn của nó làm việc rất tốt, ngoại trừ một cảnh báo Cảnh báo: socket_close(): cung cấp tài nguyên không phải là tài nguyên Ổ cắm hợp lệ. Bạn có thể cho tôi biết vấn đề có thể là gì không? –

+0

Điều đó nghe có vẻ giống như một lỗi php. Bạn đang sử dụng phiên bản php nào? Và những gì bạn đang đi đến socket_close()? – jessecurry

+1

iam sử dụng phiên bản pHP 5 $ apns = stream_socket_client ('ssl: //'. $ ApnsHost. ':'. $ ApnsPort, $ error, $ errorString, 2, STREAM_CLIENT_CONNECT, $ streamContext); socket_close ($ apns); –