Не удалось подключиться к 'ssl: //gateway.sandbox.push.apple.com: 2195'

Я успешно запускаю код APNS в своем macbook-авизо, но, оказывается, я не могу запустить его на другом компьютере:

Я проверил, что они одинаковы: 1. .pem-файл (чтобы быть конкретным) 2. Программа

Компьютеры не могут работать:

Windows 7, XAMPP, OpenSSL, без брандмауэра

А также

Сервер EC2 Linux с 2195 и 2196 открыт

Какие могут быть другие проблемы, вызывающие ошибку в моем php-коде?

Unable to connect to 'ssl://gateway.sandbox.push.apple.com:2195' 

Я знаю, что может быть причина, не открывая SSL, но я проверил phpInfo (), это должно быть правильно.

 openssl OpenSSL support enabled OpenSSL Library Version OpenSSL 1.0.1c 10 May 2012 OpenSSL Header Version OpenSSL 0.9.8x 

Я попробовал telnet на сервере EC2, он дает:

 telnet gateway.push.apple.com 2195 Trying 17.149.36.239... Connected to gateway.push-apple.com.akadns.net. Escape character is '^]'. 

Solutions Collecting From Web of "Не удалось подключиться к 'ssl: //gateway.sandbox.push.apple.com: 2195'"

В случае MAC , (встроенный сервер работал нормально, используя терминал, но не через браузер, для меня, поэтому я установил MAMP.)

1.Go to —> / Library / WebServer / Documents / —- копировать как php, так и ckdev. pem файл здесь.

2 перейти к терминалу -> $ open / private / etc -> перейти к —> apache2> оригиналы> файл httpd.config -> ** "# LoadModule php5_module libexec / apache2 / libphp5.so" , удалить " # ".. (возможно, вам тоже придется менять разрешение ..!)

затем перейдите в браузер и проверьте -> localhost / yourPhpFile.php

В случае системы Windows ,

1.Установите WAMP ,

2.goto php.ini file —> найти строку " ; extension = php_openssl.dll " и удалить точку с запятой " ; ".

3.click значок WAMP с правой стороны goto PHP> Расширения PHP> выберите php_openssl ..

Вот и все … надеюсь, это может помочь дальнейшим искателям.

  1. если вы получаете такую ​​ошибку: «Не удалось найти перенос сокетов ssl» – вы забыли включить его при настройке PHP? » затем следуйте следующему шагу

  2. если php не получил ssl enabled, то goto php.ini и измените это на "; extension = php_openssl.dll" "extension = php_openssl.dll" (удалите точку с запятой) и сохраните его и запустите программу.

Спасибо за помощь, до сих пор я решил решение.

Проблема в том, что я использовал один и тот же файл pem для моего сертификата и корневого сертификата.

Существует корневой сертификат, отличный от моего собственного сертификата, во время подключения используется оба сертификата, поэтому я должен получить корневой сертификат уведомления push-аба.

Благодаря!