我在使用PHP中的stream_socket_client()使用TLS協議連接到服務器時遇到問題。PHP:無法使用TLS協議使用函數stream_socket_client()設置私鑰文件
讓我告訴我下面的代碼:
$host = '192.168.0.112';
$context = stream_context_create();
$result = stream_context_set_option($context, 'ssl', 'local_cert', 'D:/xampp/htdocs/ssl_test/cert.pem');
$result = stream_context_set_option($context, 'ssl', 'verify_peer', 'true');
$result = stream_context_set_option($context, 'ssl', 'passphrase', '123456');
$socket = stream_socket_client('tls://'.$host.':5443/Exec', $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $context);
我跑後,我得到了這樣的消息錯誤:
警告:stream_socket_client():無法設置專用密鑰文件`d :\ xampp \ htdocs \ ssl_test \ cert.pem'在第9行D:\ xampp \ htdocs \ ssl_test \ index2.php
警告:stream_socket_client():無法啓用D:\ xampp \ htdocs \第9行的ssl_test \ index2.php
警告:stream_socket_client():無法連接到TLS://192.168.0.112:5443/EXEC(未知誤差)d:\ XAMPP \ htdocs中\ ssl_test \上線index2.php 9
請注意,我有兩個通用文件附帶證書cert.pem,key.pem和密碼=「123456」
我不知道什麼錯誤或缺少將stream_context_set_option()配置到服務器以及在哪裏設置key.pem到配置。
如果有人知道,請在此幫助我。
非常感謝先進的, Vannak。