Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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推送通知(权限被拒绝)_Php_Ios_Apple Push Notifications - Fatal编程技术网

PHP IOS推送通知(权限被拒绝)

PHP IOS推送通知(权限被拒绝),php,ios,apple-push-notifications,Php,Ios,Apple Push Notifications,从昨晚开始我一直在寻找答案,但似乎我找不到任何人有完全相同的问题。相似,但并非如此。我正试图通过一个stream\u socket\u客户端连接到Apple APN。我在一个灯的环境下工作,并打开端口2195。我的错误字符串显示(权限被拒绝)。我的麻烦是找到那些发布了很多关于这个错误的信息的人。我从错误报告中得到的警告是警告:stream\u socket\u client():无法连接到ssl://gateway.sandbox.push.apple.com:2195 (拒绝许可) 至于好东西

从昨晚开始我一直在寻找答案,但似乎我找不到任何人有完全相同的问题。相似,但并非如此。我正试图通过一个stream\u socket\u客户端连接到Apple APN。我在一个灯的环境下工作,并打开端口2195。我的错误字符串显示(权限被拒绝)。我的麻烦是找到那些发布了很多关于这个错误的信息的人。我从错误报告中得到的警告是警告:stream\u socket\u client():无法连接到ssl://gateway.sandbox.push.apple.com:2195 (拒绝许可)

至于好东西。我编写了一个类来处理这个推送通知。下面是设置连接的unenshed方法

 public function setConnection() {

        $apnsHost = 'gateway.sandbox.push.apple.com';
        $apnsPort = 2195;
        $apnsCert = '../model/apns-dev.pem';

        $streamContext = stream_context_create();
        stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
        stream_context_set_option($streamContext, 'ssl', 'passphrase', "********");
        stream_context_set_option($streamContext, 'ssl', 'verify_peer', true);

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

    }

对我来说,这看起来是对的,但很明显,这是不对的

下面教程中的simplepush.php代码对我来说很好。


下面教程中的simplepush.php代码对我来说效果很好。

这是一个SELinux配置

问题是Fedora 12中默认打开的
httpd\u can\u network\u connect
SELinux设置

在shell控制台中,以root用户身份运行:

/usr/sbin/setsebool httpd_can_network_connect=1
参考资料:

这是一个SELinux配置

问题是Fedora 12中默认打开的
httpd\u can\u network\u connect
SELinux设置

在shell控制台中,以root用户身份运行:

/usr/sbin/setsebool httpd_can_network_connect=1

参考资料:

我认为这实际上是openssl的服务器问题。我更改了一些配置,现在可以工作了。谢谢你的提醒。哦,也不要使用verify_peer选项。@TimLieberman您在服务器中更改了什么,请写在这里,这样我也可以检查我的配置。thanks@Ron我不记得是什么问题,也不记得我们是如何解决的。很抱歉,当我发现这个问题时,我应该更新这个问题。我认为这实际上是openssl的服务器问题。我更改了一些配置,现在可以工作了。谢谢你的提醒。哦,也不要使用verify_peer选项。@TimLieberman您在服务器中更改了什么,请写在这里,这样我也可以检查我的配置。thanks@Ron我不记得是什么问题,也不记得我们是如何解决的。很抱歉,当我发现这个问题时,我应该更新这个问题。我现在无法确认这个问题是否正确,因为这个问题已经存在3年了。我现在无法确认这个问题是否正确,因为这个问题已经存在3年了。