iOS推送通知PHP错误

iOS推送通知PHP错误,php,ios,push-notification,push,Php,Ios,Push Notification,Push,您好,我尝试通过FTP Hoster square7.ch通过PHP发送推送通知,但总是出现一些错误。证书位于服务器上。 有人能帮我吗 以下是PHP代码: <?php $streamContext= stream_context_create(); stream_context_set_option($streamContext , 'ssl','local_cert' , 'TestPushApp.pem'); //stream_context_set_option($streamCon

您好,我尝试通过FTP Hoster square7.ch通过PHP发送推送通知,但总是出现一些错误。证书位于服务器上。 有人能帮我吗

以下是PHP代码:

<?php
$streamContext= stream_context_create();
stream_context_set_option($streamContext , 'ssl','local_cert' , 'TestPushApp.pem');
//stream_context_set_option($streamContext , 'ssl' , 'passphrase','password');
$socketClient = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195',$error,$errorString,60,STREAM_CLIENT_CONNECT,$streamContext);
$payload['aps']= array('alert' => 'Erste Push Nachricht ueber PHP','sound' => 'default','badge' => '20');
$payload= json_encode($payload);
echo $payload;
$deviceToken = str_replace(' ','','XXXXXXXXXXXXXXXXXX');
$message= pack('CnH*',0,32,$devicetoken);
$message= $message . pack ('n',strlen($payload));
$message= $messgae .  $payload;
fwrite($socketClient,$message);
fclose($socketClient);

?>

我认为它的SSL问题,启用SSL,然后它可能会工作。还有一个
stream_context_set_选项($streamContext,'ssl','local_cert','TestPushApp.pem')
一定是这样

$options = array('ssl' => array('local_cert' => 'include/TestPushApp.pem','passphrase' => '//Provided passpharase to you'));
stream_context_set_option($streamContext , $options);
如果你有生产证书i。e pem文件,那么它就可以使用了
ssl://gateway.push.apple.com:2195


这里,文件写入函数将只包含两个参数
fwrite($fp,$msg)不是打包消息的长度。

我认为它的SSL问题是启用SSL,然后它可能会工作。还有一个
stream_context_set_选项($streamContext,'ssl','local_cert','TestPushApp.pem')
一定是这样

$options = array('ssl' => array('local_cert' => 'include/TestPushApp.pem','passphrase' => '//Provided passpharase to you'));
stream_context_set_option($streamContext , $options);
如果你有生产证书i。e pem文件,那么它就可以使用了
ssl://gateway.push.apple.com:2195


这里,文件写入函数将只包含两个参数
fwrite($fp,$msg)不是打包消息的长度。

我认为它的SSL问题是启用SSL,然后它可能会工作。还有一个
stream_context_set_选项($streamContext,'ssl','local_cert','TestPushApp.pem')
一定是这样

$options = array('ssl' => array('local_cert' => 'include/TestPushApp.pem','passphrase' => '//Provided passpharase to you'));
stream_context_set_option($streamContext , $options);
如果你有生产证书i。e pem文件,那么它就可以使用了
ssl://gateway.push.apple.com:2195


这里,文件写入函数将只包含两个参数
fwrite($fp,$msg)不是打包消息的长度。

我认为它的SSL问题是启用SSL,然后它可能会工作。还有一个
stream_context_set_选项($streamContext,'ssl','local_cert','TestPushApp.pem')
一定是这样

$options = array('ssl' => array('local_cert' => 'include/TestPushApp.pem','passphrase' => '//Provided passpharase to you'));
stream_context_set_option($streamContext , $options);
如果你有生产证书i。e pem文件,那么它就可以使用了
ssl://gateway.push.apple.com:2195



这里,文件写入函数将只包含两个参数
fwrite($fp,$msg)不是打包邮件的长度。

我尝试了代码,但得到了相同的错误。代码似乎不是问题所在。我现在在另外两台服务器上尝试了它,每次都失败了。你的代码上写着:(连接失败:)它在你的服务器上工作吗?我尝试了代码,我得到了同样的错误。代码似乎不是问题所在。我现在在另外两台服务器上尝试了它,每次都失败了。你的代码上写着:(连接失败:)它在你的服务器上工作吗?我尝试了代码,我得到了同样的错误。代码似乎不是问题所在。我现在在另外两台服务器上尝试了它,每次都失败了。你的代码上写着:(连接失败:)它在你的服务器上工作吗?我尝试了代码,我得到了同样的错误。似乎代码不是问题所在我现在在另外两台服务器上尝试了它,每次都失败了。代码上写着:(连接失败:)它在您的服务器上工作吗请联系您的主机提供商,请验证2195或2196端口是否打开。如何检查端口是否打开?请联系您的主机提供商请联系您的主机提供商,请验证2195或2196端口是否打开。如何检查端口是否打开?请联系您的主机提供商请联系您的主机提供商,请验证2195或2196端口是否打开。如何检查端口是否打开?请联系您的托管提供商请联系您的托管提供商,请验证2195或2196端口是否打开。如何检查端口是否打开?请联系您的托管提供商