我找到了这个脚本:
$message = "A cool message!";
$deviceid = "";
$count = 0;
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'entrust_root_certification_authority.pem');
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
if (!$fp) {
echo 'Failed to connect ' . $err . $errstr;
} else {
$payloads['aps'] = array('alert' => $message, 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payloads);
$msg = chr(0) . pack('n',32) . pack('H*', $deviceid) . pack('n',strlen($payload)) . $payload;
fwrite($fp, $msg);
$count += 1;
fclose($fp);
}
echo 'Sended: ' . $count;
不幸的是它会出现这些错误:
警告:stream_socket_client()[function.stream-socket-client]:SSL操作失败,代码为1. OpenSSL错误消息:错误:14094416:SSL例程:SSL3_READ_BYTES:sslv3警报证书未知
无法在
中启用加密功能无法连接到ssl://gateway.sandbox.push.apple.com:2195(未知错误)
我很确定我使用的是正确的pem文件,因为在使用其他文件时会显示以下错误:
无法设置私钥文件
无法在
中创建SSL句柄无法在
中启用加密功能无法连接到ssl://gateway.sandbox.push.apple.com:2195(未知错误)
我希望使用简单的PHP脚本发送PushNotifications。