推送通知服务器实现

Seb*_*ian 2 php push-notification

我正在尝试在我的服务器上创建工作apns-php(http://code.google.com/p/apns-php/)(具有专用IP的Bluehost和用于tcp和udp传出的端口2195).

我收到这个错误:

致命错误:未捕获异常'ApnsPHP_Exception',消息'无法连接到'ssl://gateway.sandbox.push.apple.com:2195':( 0)'/ home2/xxxxx/public_html/xxxxx/pns/ApnsPHP /Abstract.php:352堆栈跟踪:#0 /home2/xxxxx/public_html/xxxxx/pns/ApnsPHP/Abstract.php(295):ApnsPHP_Abstract - > _ connect()#1/home2/xxxxx/public_html/xxxxx/pns/sample_push.php(41):第352行/home2/xxxxx/public_html/xxxxx/pns/ApnsPHP/Abstract.php中引发的ApnsPHP_Abstract-> connect()#2 {main}

我有联系Bluehost支持,他们告诉我这个:

谢谢您联络我们.如果服务器ssl://gateway.sandbox.push.apple.com:2195*似乎拒绝接受您帐户的连接.有没有办法可以将您的专用IP列入白名单或接受传入的连接?

有人可以帮我解决这个问题吗?有任何想法吗?谢谢!

Seb*_*ian 11

我找到了一个解决方案,我不知道它是否是最好的,但它确实有效.在Abstract.php(这个文件是apns-php源代码的一部分)我评论了第343行.现在它看起来像这样:

$streamContext = stream_context_create(array('ssl' => array(
//'verify_peer' => isset($this->_sRootCertificationAuthorityFile),
'cafile' => $this->_sRootCertificationAuthorityFile,
'local_cert' => $this->_sProviderCertificateFile
)));
Run Code Online (Sandbox Code Playgroud)

我真的不知道这一行有什么意义,但知道推送通知正常工作.我怀疑它是否能在生产服务器上正常工作.有人知道吗?