Comment mettre à jour à chaud le code php

(*-*)浩
Libérer: 2023-02-26 09:32:01
original
3722 Les gens l'ont consulté

Comment mettre à jour à chaud le code php

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();
Copier après la connexion

Le nom du fichier est http_server.php

Exécutez ce script en arrière-plan :

php http_server.php &
Copier après la connexion

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";
Copier après la connexion

Modifiez maintenant cette ligne de. codez comme suit :

$data = $project."The code is modified!!!!\n";
Copier après la connexion

Affichez le processus http_server sous Linux

ps axuf|grep http_server
Copier après la connexion

Utilisez la commande suivante pour envoyer un signal au processus gestionnaire pour recharger le processus de travail :

kill -USR1 5913
Copier après la connexion

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!

Étiquettes associées:
php
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