php - 推送通知 (iPhone) 给出 "111 Connection refused"

标签 php iphone ssl push

当我尝试发送推送通知时,我收到此错误:“连接被拒绝”,但我不知道为什么...我已将我的 apns-dev.pem 上传到同一目录以及根目录中目录,但这也不起作用。

<?php
$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$apnsPass = 'secret';

$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', $apnsPass);

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);

if (!$apns) {
    echo "Error: $errorString ($error)";
}

// Do this for each
$deviceToken = '00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000';
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
// End do

socket_close($apns);
fclose($apns);
?>

有谁知道我做错了什么?当我删除密码短语并且不发送它时,它也不起作用...

最佳答案

确保传出端口 2195 已打开。这将在您的防火墙配置中。

关于php - 推送通知 (iPhone) 给出 "111 Connection refused",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444753/

相关文章:

php - DOMCrawler 纯文本

php - 在配置文件中访问 session 或 Yii

ssl - 通过 IdHTTP 和 IdSSLIOHandlerSocketOpenSSL1 读取并保存部分文件流

c# - 在 MVC5 应用程序上强制使用 HTTPS 时出现 ERR_TOO_MANY_REDIRECTS

php - 使用 PDO 的多个数据库连接

php - 在服务器上的文件中查找字符串并替换它

iphone - Siri 的语音字段

java - 应用内购买将交易收据发送到服务器

ios - 在 iPhone 上以编程方式显示真正的弹出窗口

apache - SSL 不适用于 apache 和 cloudflare