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