Maison  >  Article  >  cadre php  >  Que dois-je faire si Oppo ne parvient pas à se connecter à Swoole ?

Que dois-je faire si Oppo ne parvient pas à se connecter à Swoole ?

藏色散人
藏色散人original
2020-04-09 09:53:072270parcourir

Que dois-je faire si Oppo ne parvient pas à se connecter à Swoole ?

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

Assurez-vous de remplacer ws par wss lors de la connexion au client.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn