Que dois-je faire si je n'arrive pas à me connecter à swoole ? Websocket ne parvient pas à se connecter au serveur https activé par swoole ?
Problèmes de connexion de https dans swoole
Il y a quelque temps, un ami a interrogé un blogueur PHP sur le problème de connexion de Websocket à HTTPS. Les informations en ligne étaient très compliquées, donc le blogueur également. l'a essayé lui-même. Certaines questions et résumés techniques sont partagés avec vous.
Le serveur est développé à l'aide du framework PHP étendu Swoole et le client est développé à l'aide de websocket en JS.
La solution HTTPS est la suivante :
1. N'oubliez pas de sélectionner le support d'openssl lors de la compilation et de l'installation de swoole.
cd swoole_srcphpize ./configure --enable-openssl make && make install 2.如果遇到报错configure: error: Cannot find php-config. Please use --with-php-config=PATH
Solution : ajoutez manuellement le chemin php-config
./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
3. Ajoutez enfin les informations du certificat dans le code swoole :
//初始化类的时候,加上openssl参数 $serv = new swoole_websocket_server(":", 8080, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL); //配置证书文件位置 $key_dir = "YOUR_KEY_DIR"; $serv->set(array( 'work_num'=>1, 'ssl_cert_file'=>$key_dir.'/file.crt','ssl_key_file'=>$key_dir.'file.key'));
4.
var wsl = "wss://domain/path";//证书的域名 ws = new WebSocket(wsl);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!