ホームページ  >  記事  >  バックエンド開発  >  PHPコードをホットアップデートする方法

PHPコードをホットアップデートする方法

(*-*)浩
(*-*)浩オリジナル
2019-10-11 10:47:463714ブラウズ

PHPコードをホットアップデートする方法

ZPHP フレームワークは、ここでデモンストレーションとして使用されます。Swoole コードのホット アップデートを実装するには、WorkerStart コールバック関数で 、ZPHP フレームワークを読み込みます: (推奨学習: 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();

ファイル名は http_server.php

このスクリプトをバックグラウンドで実行します:

php http_server.php &

「192.168.1.116」と入力します。 http リクエストのブラウザーの 9501:

これは、ZPHP フレームワークをロードした後、デフォルト コントローラーのデフォルト メソッドにアクセスするためです。コードの 1 行は次のとおりです:

$data = $project."zchat runing in swoole!!!!\n";

ここでこの行を変更します

$data = $project."The code is modified!!!!\n";

Linux で http_server のプロセスを表示する

ps axuf|grep http_server

次のコマンドを使用して、マネージャー プロセスにシグナルを送信し、ワーカー プロセスをリロードします:

kill -USR1 5913

4 つのワーカー プロセスのプロセス番号が以前と同じであることがわかります。これは異なります。これは、マネージャー プロセスがワーカー プロセスをオーバーロードしていることを意味します。

ブラウザでページを更新して確認してください。

ホット アップデートは成功しました~

これは簡単な概要です:

コード ホット アップデートは実際に「WorkerStart」コールバック関数のコンテンツを更新します。つまり、ビジネス コード「WorkerStart」コールバック関数に配置する必要があります。

以上がPHPコードをホットアップデートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。