当我执行下面的代码时,它得到了
连接失败:0
我将代码放在下面:
$deviceToken = '44fb58e8011392a1569ddc73ff96d028b5d78739258678455a16abf4e55fa1c1';
//$deviceToken = '44fb58e8011392a1569ddc73ff96d028b5d78739258678455a16abf4e55fa1c1';
// Put your private key's passphrase here:
$passphrase = 'zFaMRvDh7vGTPqh3k+72uz0SzOh3knVZc99OPqkJ3llbYWbpQnRNAKY7TGJu7kg8';
// Put your alert message here:
$message = 'Thank you for Trying Arial 1. Do not forget to enter your feedback to earn TNB points within 10 days';
////////////////////////////////////////////////////////////////////////////////
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'http://dev.trynbuyindia.com/ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
使用 PEM 文件所在的完整路径,可能是这样的假设我将我的 PEM 文件保存在模型目录中,那么我的路径将是这样的
stream_context_set_option($ctx, 'ssl', 'local_cert', '/var/www/abc/testws/public_html/WebService/application/models/ck.pem');
它对我有用。
dev.trynbuyindia.com/ck.pem 这是正确的..???
将您的证书放在本地计算机中运行 php 脚本的同一文件夹中,并更改其在脚本中的路径