使用“从Android设备执行Apple推送通知服务器(PHP)”;Android版的PHP“;
我最近下载并安装了“PHP for Android”。我创建了一个.PHP文件,该文件利用与端口2195的SSL连接。我遵循编写php服务器的指南,该服务器向苹果的APN发送推送通知,并成功地在我的Mac上运行。当我将.php和.pem放在同一文件夹中的Android手机上,并尝试使用相同的WIFI连接运行它时,我收到以下错误消息:使用“从Android设备执行Apple推送通知服务器(PHP)”;Android版的PHP“;,php,android,ssl,apple-push-notifications,sl4a,Php,Android,Ssl,Apple Push Notifications,Sl4a,我最近下载并安装了“PHP for Android”。我创建了一个.PHP文件,该文件利用与端口2195的SSL连接。我遵循编写php服务器的指南,该服务器向苹果的APN发送推送通知,并成功地在我的Mac上运行。当我将.php和.pem放在同一文件夹中的Android手机上,并尝试使用相同的WIFI连接运行它时,我收到以下错误消息: Error:14094410:SSL routines:func(148):reason(1040) in /mnt/sdcard/sl4a/scripts/lot
Error:14094410:SSL routines:func(148):reason(1040) in /mnt/sdcard/sl4a/scripts/lot.php on line 19
Warning: stream_socket_client(): Failed to enable crypto in /mnt/sdcard/sl4a/scripts/lot.php on line 19
Warning: stream_socket_client(): unable to connect to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /mnt/sdcard/sl4a/scripts/lot.php on line 19
有人知道我该如何解决这个问题吗?
谢谢 我不知道如何修复它,但谷歌有自己的推送通知框架。这里有一个例子: 编辑以回答:
我认为问题很可能与通过SSL进行调用所需的证书有关。可能是PHP for Android应用程序没有访问所需安全证书的权限。我的Windows桌面上出现SSL错误,PHP脚本访问了HTTPS资源
解决方案是启用openssl扩展。因此,也许这与您在这里遇到的问题相同,与Android版Php上的opensll有关。为了澄清这一点,Php将推送通知发送到苹果注册iPhone的推送通知服务。哦,好的。这更有道理。嗯……那可能是一种可能性。你知道我怎样才能解决这个问题吗?我尝试将证书放在我的网站上,并尝试从那里调用它,但似乎没有起作用……也许我做错了?我没有在PHP或客户端SSL方面做太多工作,但您可以尝试将代码添加到问题中。你可能会得到更多的答案。