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

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

(*-*)浩
リリース: 2023-02-26 09:32:01
オリジナル
3761 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート