여기에서는 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 &
http 요청을 만들기 위해 브라우저에 192.168.1.116:9501을 입력하세요:
이것은 ZPHP 프레임워크를 로드한 후 기본 컨트롤러 아래의 기본 메소드에 액세스하기 때문입니다. , 코드 한 줄은 다음과 같습니다.
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!