Maison > cadre php > Swoole > le corps du texte

Pourquoi swoole doit-il être démarré en utilisant la ligne de commande ?

(*-*)浩
Libérer: 2019-12-13 09:31:39
original
2446 Les gens l'ont consulté

Pourquoi swoole doit-il être démarré en utilisant la ligne de commande ?

swoole : Le moteur de communication réseau hautes performances coroutine de PHP utilise du code entièrement synchrone pour implémenter des programmes asynchrones. Il n'est pas nécessaire d'ajouter des mots-clés supplémentaires au code PHP. La couche inférieure effectue automatiquement la planification des coroutines pour implémenter les E/S asynchrones.

Le serveur basé sur swoole doit être exécuté en mode ligne de commande pour garantir qu'il n'y a qu'une seule instance (le port ne peut pas être ouvert à plusieurs reprises)

Nous utilisons Swoole pour créez-en un (Apprentissage recommandé : tutoriel vidéo swoole )

<?php
$http = new swoole_http_server(&#39;0.0.0.0&#39;, 80, SWOOLE_BASE);
$http->on(&#39;request&#39;, function(swoole_http_request $req, swoole_http_response $res) use($http) {
    $res->write("hello world");
    $res->end();
});
Copier après la connexion

OK, vous voyez, il ne repose pas sur frameworks/ob_flush et d'autres mécanismes, Swoole ne peut plus utiliser echo comme méthode de sortie , vous devez utiliser $res ->write(String $content) et $res->end(String $endContent).

Alors, comment y accéder ?

Démarrage en ligne de commande

php app.php
# 你在代码里面 echo/var_dump/print(_r) 的内容将在这里输出
Copier après la connexion

Ensuite, ouvrez http://localhost/ dans le navigateur et vous pourrez obtenir la sortie de hello world.

Mais l'avez-vous trouvé http:/ /localhost/ et http://localhost/ xxx génèrent tous le même contenu.

Si nous voulons uniquement que php soit affiché sous http://localhost/, comment l'écrire ?

<?php
$http = new swoole_http_server(&#39;0.0.0.0&#39;, 80, SWOOLE_BASE);
$http->on(&#39;request&#39;, function(swoole_http_request $req, swoole_http_response $res) use($http) {
    if($req->server[&#39;request_uri&#39;] == &#39;/&#39;){
        $res->write("hello world");
        $res->end();
        return;
    }
    $res->end(&#39;404&#39;);
    return;
});
Copier après la connexion

Swoole_http_request $req contient de nombreuses informations que nous pourrons utiliser à l'avenir. Données de requête reçues, y compris $req->server, $req->get, $req->post, structure du tableau, ->CLÉ du serveur. est en minuscule

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal