Heim >Backend-Entwicklung >PHP-Tutorial > 这句话啥意思 stream_context_set_option($ctx, 'ssl' 'local_cert' 'ck.pem');该怎么处理

这句话啥意思 stream_context_set_option($ctx, 'ssl' 'local_cert' 'ck.pem');该怎么处理

WBOY
WBOYOriginal
2016-06-13 12:58:441961Durchsuche

这句话啥意思 stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
小弟是做客户端的,PHP啥也不懂。
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); 这句话是神马意思,希望大神解释。
还有同样的功能能用Myeclipse实现吗?谢谢!

完整的如下。

// Put your device token here (without spaces):
$deviceToken = '0f744707bebcf74f9b7c25d48e3358945f6aa01da5ddb387462c7eaf61bbad78';

// Put your private key's passphrase here:
$passphrase = 'pushchat';

// Put your alert message here:
$message = 'My first push notification!';

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

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

if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);

echo 'Connected to APNS' . PHP_EOL;

// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default'
);

// Encode the payload as JSON
$payload = json_encode($body);

// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;

// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));

if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;

// Close the connection to the server
fclose($fp);

------解决方案--------------------
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); 

这句是说对于ctx这个socket连接,使用ssl协议,使用本地授权证书,使用ck.pem作为授权证书

eclipse是ide啊
php始终需要php环境执行的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn