Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取无法建立连接:尝试在IOS上发送通知时出错0_Php_Ios_Push Notification_Apple Push Notifications - Fatal编程技术网

Php 获取无法建立连接:尝试在IOS上发送通知时出错0

Php 获取无法建立连接:尝试在IOS上发送通知时出错0,php,ios,push-notification,apple-push-notifications,Php,Ios,Push Notification,Apple Push Notifications,我正在尝试使用php为IOS应用程序发送推送通知。但是,当我尝试为同一设备建立连接时,但每当我尝试建立连接时,都会出现“未能建立连接:0”错误。谁能告诉我我的代码有什么问题吗 function iOS() { $deviceToken ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; $ctx = stream_context_create(); $pem = get_site_url().'/

我正在尝试使用php为IOS应用程序发送推送通知。但是,当我尝试为同一设备建立连接时,但每当我尝试建立连接时,都会出现“未能建立连接:0”错误。谁能告诉我我的代码有什么问题吗

function iOS()
{
    $deviceToken ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

    $ctx = stream_context_create();
    $pem = get_site_url().'/wp-content/themes/MY-child/ck.pem';
    $passphrase = '';

    stream_context_set_option($ctx, 'ssl', 'local_cert', $pem);
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

    $fp = stream_socket_client(
        'ssl://gateway.sandbox.push.apple.com:2195', $err,
        $errstr, 60, STREAM_CLIENT_CONNECT , $ctx);
    if (!$fp)
        exit("Failed to establish connection : $err $errstr" . PHP_EOL);


    $body['aps'] = array(
        'alert' => "Hello from APNs Tester",
        'sound' => 'default'
    );

    $payload = json_encode($body);

    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;

    $result = fwrite($fp, $msg, strlen($msg));
    fclose($fp);

    if (!$result)
        return 'Message not delivered' . PHP_EOL;
    else
        return 'Message successfully delivered' . PHP_EOL;
}