ホームページ >バックエンド開発 >PHPチュートリアル >この文は何を意味しますか stream_context_set_option($ctx, 'ssl' 'local_cert' 'ck.pem'); 対処方法

この文は何を意味しますか stream_context_set_option($ctx, 'ssl' 'local_cert' 'ck.pem'); 対処方法

WBOY
WBOYオリジナル
2016-06-13 12:58:441963ブラウズ

この文は何を意味するのでしょうか? stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
私はクライアントですが、PHP については何も知りません。
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); この文はばかげているので、誰かが説明してくれることを願っています。
Myeclipseを使用して同じ機能を実現できますか?ありがとう!

完全版は以下にあります。

// ここにデバイス トークンを入力します (スペースは入れません):
$deviceToken = '0f744707bebcf74f9b7c25d48e3358945f6aa01da5ddb387462c7eaf61bbad78';

// 秘密鍵のパスフレーズをここに入力します:
$passphrase = 'プッシュチャット';

// ここに警告メッセージを入力します:
$message = '初めてのプッシュ通知!';

//////////////////////////////////////////////// //// //////////////////////////////

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

//APNS サーバーへの接続を開きます
$fp = stream_socket_client(
'ssl://gateway.sandbox.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

if (!$fp)
exit("接続に失敗しました: $err $errstr" . PHP_EOL);

echo 'APNS に接続しました' ;

//ペイロード本体を作成します
$body['aps'] = array(
'アラート' => $message,
'サウンド' => 'デフォルト'
);

// ペイロードを JSON としてエンコードします
$payload = json_encode($body);

//バイナリ通知を構築します
$msg = chr(0) .pack('H*', $deviceToken) . $payload;

// サーバーに送信します
$result = fwrite($fp, $msg, strlen($msg));

if (!$result)
echo 'メッセージが配信されませんでした' .
それ以外
echo 'メッセージが正常に配信されました' .

//サーバーへの接続を閉じます
fclose($fp);

-----解決策---------
stream_context_set_option ( $ctx, 'ssl', 'local_cert', 'ck.pem');
この文は、ctx ソケット接続には ssl プロトコルを使用し、ローカル認証証明書を使用し、認証証明書として ck.pem を使用することを意味します

Eclipse は IDE です
PHP では

を実行するには常に PHP 環境が必要です
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。