Le dernier CLI swoole prend déjà en charge Windows et vous permet d'expérimenter swoole sur Windows

InfoQ 2022-07-23 22:03:30 阅读数:610

lederniercliswooleprend

Préface

Je suppose que oui.PHPLes chaussures pour enfants en tant que langage de développement devraient avoir entendu parler deswoole,Tout le monde saitswooleQu'est - ce que c'est?.
Swoole Faire PHP Les développeurs peuvent écrire des TCP、UDP、Unix Socket、HTTP、 WebSocket Autres services,Jean PHP Plus limité à Web Domaine.Swoole4 La maturité du processus de coopération PHP Dans une période sans précédent, Offre des possibilités uniques d'amélioration des performances.Swoole Peut être largement utilisé sur Internet、Communications mobiles、Informatique en nuage、 Jeux en ligne、Internet des objets(IOT)、Réseau de véhicules、Smart Home et d'autres domaines.Utiliser PHP + Swoole Peut faire en sorte que l'entreprise IT L'efficacité de l'équipe R & D a été grandement améliorée,Se concentrer davantage sur le développement de produits innovants.En généralSwoole- Oui.PHP Cadre de coopération,Oui..swoolePar pure C Rédaction Linguistique,Soutien parfaitPHPLangues.Disponible enSwooleConstruit un serveur asynchrone,Fournir une réponse asynchrone,Push,Une série de tâches, etc.RésolutionPHPLa langue elle - même estfpmChaque demande doit être rechargée dans le scénario de,Le problème de la surconsommation des ressources.
Parce queswoolePrise en charge uniquement 
Linux
(2.3.32 Noyau ci - dessus)、
FreeBSD
MacOS
 Trois systèmes d'exploitation,Avant.windows Le support du système n'est pas très bon .J'aimeraiswindowsUtiliserswoole,Installation requiselinux Machine virtuelle ou installation docker,Parce quedockerEn soi.windows Le support du système n'est pas non plus très convivial ,Donc, danswindows L'expérience est terrible .Mais je suisGitHub Voir le dernier swooleDéjà supportablewindowsSystème,Pourwindows Bonne nouvelle pour les utilisateurs du serveur ,En bas.windows Expérimentez le système

Préparation de l'installation

Environnement:
  • windows7 64Bits(Note::Prise en charge uniquement64Système de bits)
  • cygwin64
  • Télécharger l'adresse
https://github.com/swoole/swoole-src/releases

null
swoole-cliEst exempt d'installation,Peut être utilisé directement, Pas besoin d'installer
php
Paquets associés,Téléchargement direct
swoole-cli-cygwin64
Programme exécutable pour
zip
Paquet compressé, Puis décompressez - le dans n'importe quel répertoire

Configurer les variables d'environnement

Après décompression, les variables d'environnement sont configurées
La structure du Répertoire après décompression est la suivante:
null
Sous le dossier qui sera extrait bin Chemin du Répertoire configuré pour le système PathDans les variables d'environnement.Mon chemin estG:\swoole-cli-v4.8.11-cygwin64\bin, Vous devez configurer en fonction de l'emplacement exact de votre machine après décompression .
null
Voir la version installée,Vérifier que l'installation a été réussie
Les ordres sont les suivants::
swoole-cli -v
null
VoirswooleConfiguration de
null
VoirswooleDansphpConfiguration connexe
Ce qui suit PHP Le module d'extension est swooleAutoportante. Si vous souhaitez ajouter une extension à swoole-cli,Ça pourrait être dansswooleOfficialgithub Soumission de la page d'accueil issue
null
Une fois l'installation terminée, expérimentez la simplicité d'édition WebServeur.

Le développement de l'expérience est simple webServeur

<?php

$http = new Swoole\Http\Server('127.0.0.1', 9991, SWOOLE_BASE);

$http->on('start', function ($server) {

 echo &quot;Swoole http server Commencé, Accessible http://127.0.0.1:9501\n&quot;;
});

$http->on('request', function ($request, $response) {

 $response->header('Content-Type', 'text/plain');

 $response->end('Bonjour,C'est mon premierswoole http webServeur!');

});
$http->start();
onBINDswoole Action event in .startEst de démarrer unhttpServices
Lancez le serveur que nous avons écrit :
swoole-cli webserver.php
null
Ensuite, suivez les instructions en ligne de commande pour copier le lien vers l'accès au navigateur :
null
Ensuite, testez websocket, C'est aussi le Protocole que nous utilisons habituellement pour la communication en temps réel
Serveur:ws.php
<?php
//CréationWebSocket ServerObjet,Écouter0.0.0.0:9502Port
$ws = new Swoole\WebSocket\Server('0.0.0.0', 9502);

//ÉcouterWebSocketConnectez - vous à l'événement ouvert
$ws->on('Open', function ($ws, $request) {
 $ws->push($request->fd, &quot;Bonjour\n&quot;.$request->fd);
});

//ÉcouterWebSocketMessage Event
$ws->on('Message', function ($ws, $frame) {
 echo &quot;Message: {$frame->data}\n&quot;;
 $ws->push($frame->fd, &quot;server: {$frame->data}&quot;);
});

//ÉcouterWebSocketÉvénement de fermeture de connexion
$ws->on('Close', function ($ws, $fd) {
 echo &quot;client-{$fd} Fermé\n&quot;;
});

$ws->start();
Client:
<html>
 <head> 
 <title>TestsWebsocket</title> 
 <style> body { margin: 0; } canvas { width: 100%; height: 100% } </style> 
 </head> 
 <body> 
 <script>
var wsServer = 'ws://127.0.0.1:9502';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
console.log(&quot;Connected to WebSocket server.&quot;);
};

websocket.onclose = function (evt) {
console.log(&quot;Déconnecté&quot;);
};

websocket.onmessage = function (evt) {
console.log(' Les données reçues proviennent de : ' + evt.data);
};

websocket.onerror = function (evt, e) {
console.log('Message d'erreur: ' + evt.data);
};

</script> 
 </body>
</html>
Ouvre.cmdMise en œuvre:swoole-cli ws.php, Voir la figure ci - dessous sans aucune indication que l'exécution a été réussie
null
Puis en parcourant l'accès :http://localhost/t3d/ws.html, Voici ma connexion locale , Besoin d'accéder en fonction de votre situation réelle ,Éviter les erreurs, Assurez - vous d'utiliser le serveur pour exécuter votre code client , J'ai ouvert deux fenêtres d'accès ,Les effets sont les suivants:
null

null

Résumé

swoole L'installation de windows Montage supérieur comparé à ,C'est beaucoup plus simple, Aucune installation n'est nécessaire ,Disponible en téléchargement, Il suffit de configurer les variables d'environnement .Il y a unphp8.1La version ci - dessus,Pas besoin d'installer, Si vous devez ajouter une extension à swoole-cli,Besoin deGitHubPrésentationissue
Copyright:Cet article est[InfoQ]Établi,Veuillez apporter le lien original pour réimprimer,remercier。 https://fra.fheadline.com/2022/204/202207232159489584.html