2012-04-04 22 views
0

私は昨晩以来、これに対する答えを探していましたが、まったく同じ問題を抱えていた人がいなかったようです。類似しているがそれではない。私は、stream_socket_clientを通じてApples APNSに接続しようとしています。私はLAMP環境でこの作業をしており、ポート2195は開いています。私のerrorStringは(許可が拒否されました)と答えています。私の悩みは、このエラーについて多くのことを投稿した人たちを見つけることです。 stream_socket_client():SSLに接続できません:私は、エラー報告から取得しています警告が警告です//gateway.sandbox.push.apple.com:こだわりとして、2195(パーミッション拒否)PHP IOSプッシュ通知(許可が拒否されました)

もの。このプッシュ通知を処理するクラスを作成しました。接続を設定する方法はありません。

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); 

    } 

私にとってこれは正しいと思われますが、明らかに正しいものではありません。

答えて

0

次のチュートリアルのsimplepush.phpコードがうまくいきました。 http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

$ctx = stream_context_create(); 
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); 
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); 

// Open a connection to the APNS server 
$fp = stream_socket_client(
    'ssl://gateway.sandbox.push.apple.com:2195', $err, 
    $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); 
+0

これは実際には私が思っているopensslのサーバーの問題でした。私はいくつかの設定を変更し、今すぐ動作します。ヘッドアップをありがとう。ああ、verify_peerオプションも使用しないでください。 –

+0

@TimLiebermanあなたのサーバであなたが変更したものをここに書き留めて、私の設定もチェックすることができます。ありがとう – Ron

+0

@ロン私は問題の内容や解決方法を覚えていません。私は知ったときに私はこの質問を更新している必要がありますお詫び申し上げます。 –

3

それは、SELinuxコンファレンス

問題はrootとして実行するシェルコンソールで

のFedora 12ではデフォルトでオンになっているhttpd_can_network_connect SELinuxの設定、であることが判明します:

/usr/sbin/setsebool httpd_can_network_connect=1 

参照:http://www.rkrishardy.com/2009/12/permission-denied-13-when-opening-socket-in-php-apache/

+0

この問題が3歳である瞬間にこれが正しいと確認できません。 –

関連する問題