Le framework ZPHP est utilisé comme démonstration ici Pour implémenter la mise à jour à chaud du code swoole, dans la fonction de rappel WorkerStart , chargez le framework ZPHP : (Apprentissage recommandé : Tutoriel vidéo PHP)
use ZPHP\ZPHP; $zphp = null; $mimes = null; $http = new swoole_http_server('0.0.0.0',9501); $http->on('request', function (swoole_http_request $request, swoole_http_response $response){ //...... }); $http->on('WorkerStart',function($serv, $worker_id){ //框架载入 require __DIR__ . DIRECTORY_SEPARATOR . 'zphp' . DIRECTORY_SEPARATOR . 'ZPHP' . DIRECTORY_SEPARATOR . 'ZPHP.php'; global $zphp; $zphp = ZPHP::run(__DIR__, false, 'default'); global $mimes; $mimes = require "mimes.php"; }); $http->start();
Le nom du fichier est http_server.php
Exécutez ce script en arrière-plan :
php http_server.php &
Entrez 192.168.1.116:9501 dans le navigateur pour la requête http :
En effet, après le chargement du framework ZPHP, la méthode par défaut sous le contrôleur par défaut est accessible. Une ligne de code est :
$data = $project."zchat runing in swoole!!!!\n";
Modifiez maintenant cette ligne de. codez comme suit :
$data = $project."The code is modified!!!!\n";
Affichez le processus http_server sous Linux
ps axuf|grep http_server
Utilisez la commande suivante pour envoyer un signal au processus gestionnaire pour recharger le processus de travail :
kill -USR1 5913
Il On peut voir que les numéros de processus des quatre processus de travail sont les mêmes qu'avant. C'est différent, ce qui signifie que le processus gestionnaire a surchargé le processus de travail
Actualisez la page dans le navigateur pour le voir
La mise à jour à chaud est réussie~
Voici un petit résumé :
La mise à jour à chaud du code met en fait à jour le contenu de la fonction de rappel "WorkerStart", ce qui signifie que notre code métier doit être placé dans la fonction de rappel "WorkerStart".
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!