Уведомление push iOS не работает при использовании планировщика crontab

Я внедрил образец push-уведомления для моего приложения.

Сейчас я тестирую среду песочницы.

Я получаю уведомления, когда я вручную вызываю скрипт PHP для push-уведомлений через APN.

Когда я пишу планировщик с помощью crontab для автоматизации доставки уведомлений, я не получаю уведомления. Ошибка, которую я получаю по почте:

PHP Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure in /Users/aspire/Desktop/SimplePush/simplepush.php on line 21 PHP Warning: stream_socket_client(): Failed to enable crypto in /Users/aspire/Desktop/SimplePush/simplepush.php on line 21 PHP Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Users/aspire/Desktop/SimplePush/simplepush.php on line 21 Failed to connect: 0 

Может кто-нибудь объяснить, в чем проблема?

Эта проблема была исправлена. Реальная проблема была в скрипте PHP, который я использовал.

Ранее в stream_context_set_option II не включался полный путь к файлу ck.pem. После полного пути не было ошибки. Ниже приведен код, который я использую прямо сейчас.

 $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', '/Users/Development/Dev/ck.pem'); 

Некоторые другие, у кого была эта проблема и их обсуждения, были

Вопрос Apple 1

Вопрос Apple 2

попробуйте этот код

  $apnsCert = $_SERVER['DOCUMENT_ROOT'].'/..../..../ck.pem'; $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert',$apnsCert); stream_context_set_option($ctx, 'ssl', 'cafile', 'entrust_2048_ca.cer'); $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195',$err,$errstr,60,STREAM_CLIENT_CONNECT,$ctx);