【发布时间】:2011-03-17 09:43:38
【问题描述】:
我有一个 PHP 脚本位于像 /var/www/vhosts/hostname/httpdocs/webservices 这样的路径中,我有 PHP 脚本和 .pem 文件,我已经正确调用了脚本中的 .pem 文件,但是当我运行脚本时,我没有收到推送通知,而是收到如下警告:
Warning: stream_socket_client() [function.stream-socket-client]: Unable to set local cert chain file `ck_push_test.pem'; Check that your cafile/capath settings include details of your certificate and its issuer in /var/www/vhosts/ipartyapps.com/httpdocs/webservices/testPush.php on line 12
Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /var/www/vhosts/ipartyapps.com/httpdocs/webservices/testPush.php on line 12
Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /var/www/vhosts/ipartyapps.com/httpdocs/webservices/testPush.php on line 12
Warning: stream_socket_client() [function.stream-socket-client]: unable to connect to ssl://gateway.push.apple.com:2195 (Unknown error) in /var/www/vhosts/ipartyapps.com/httpdocs/webservices/testPush.php on line 12
Failed to connect 0
我仔细检查了脚本和.pem 文件的所有路径、权限和所有者/组,仍然没有收到推送通知。
【问题讨论】:
-
这听起来不仅仅是检查一些本地权限:“检查您的 cafile/capath 设置是否包含您的证书及其颁发者的详细信息”
-
您能否告诉我“cafile/capath”设置的含义以及在哪里查找它们或如何更改它们?
-
@VIVEK 不,对不起......似乎与 OpenSSL 有关。这个问题在 serverfault.com 上可能会更好,投票迁移到那里。
-
@Pekka:同意“离题”,但也许是webmasters?
-
@David 嗯,我认为 Serverfault 上的人更适合解决底层证书问题。很有可能在Linux命令行上排序
标签: php linux ssl push-notification