Heim > Backend-Entwicklung > PHP-Problem > So aktualisieren Sie PHP-Code im laufenden Betrieb

So aktualisieren Sie PHP-Code im laufenden Betrieb

(*-*)浩
Freigeben: 2023-02-26 09:32:01
Original
3761 Leute haben es durchsucht

So aktualisieren Sie PHP-Code im laufenden Betrieb

Das ZPHP-Framework wird hier als Demonstration verwendet. Um ein Hot-Update von Swoole-Code zu implementieren, laden Sie in der WorkerStart-Callback-Funktion das ZPHP-Framework: (Empfohlenes Lernen : PHP-Video-Tutorial)

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();
Nach dem Login kopieren

Der Dateiname ist http_server.php

Führen Sie dieses Skript im Hintergrund aus:

php http_server.php &
Nach dem Login kopieren

Geben Sie 192.168.1.116 ein: 9501 im Browser für http-Anfrage:

Dies liegt daran, dass nach dem Laden des ZPHP-Frameworks auf die Standardmethode unter dem Standardcontroller zugegriffen wird. Eine Codezeile lautet:

$data = $project."zchat runing in swoole!!!!\n";
Nach dem Login kopieren

Ändern Sie nun diese Zeile des Codes wie folgt:

$data = $project."The code is modified!!!!\n";
Nach dem Login kopieren

Prozess von http_server unter Linux anzeigen

ps axuf|grep http_server
Nach dem Login kopieren

Verwenden Sie den folgenden Befehl, um ein Signal an den Managerprozess zu senden, um den Arbeitsprozess neu zu laden:

kill -USR1 5913
Nach dem Login kopieren

Es ist ersichtlich, dass die Prozessnummern der vier Worker-Prozesse dieselben sind wie zuvor. Es ist anders, was bedeutet, dass der Manager-Prozess den Worker-Prozess überlastet hat

Aktualisieren Sie die Seite im Browser, um sie anzuzeigen

Das Hot-Update ist erfolgreich~

Hier eine kleine Zusammenfassung:

Das Code-Hot-Update aktualisiert tatsächlich den Inhalt in der Rückruffunktion „WorkerStart“, was bedeutet, dass unser Der Geschäftscode muss in der Rückruffunktion „WorkerStart“ platziert werden.

Das obige ist der detaillierte Inhalt vonSo aktualisieren Sie PHP-Code im laufenden Betrieb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage