平滑重启使PHP文件有效测试在Swoole文档中有这么一说明"平滑重启只对onWorkerStart或onReceive等在Worke r进程中include/require的PHP文件有效,Server启动前就已经include/require的PHP文件,不能通 过平滑重启重新加载"让我们来测试一下:#phphttp_server.phpWorkerStart?WorkerStart? 访问?https://www.rodlg.com页面内容输出"helloSwooletest"命令行中输出:Test1 request100Test1当我们将test.phptest_request.php代码中的Test1替换成Test2 时访问?https://www.rodlg.com命令行中输出:Test1request88Test2#ps-ef|g repphp#kill-USR18155????//平滑重启,8155(主进程/管理进程id)再次访问?ht tps://www.267774.com命令行中输出:Test1request88Test2以上结果说明了include/re quire,再Server启动前载入的PHP文件,不能通过平滑重启重新加载测试代码:http_server.phpecho''shellstart'';define(''__ROOT__'',realpath(''.''));include__RO OT__.''/test.php'';$http=newswoole_http_server("127.0.0.1",9501 );$http->set([''worker_num''=>2,''max_request''=>50]);$http->on(''Wo rkerStart'',function($serv,$worker_id){echo"WorkerStart\n";} );$http->on(''request'',function($request,$response){getTest() ;include__ROOT__.''/test_request.php'';$response->header("Conten t-Type","text/html;charset=utf-8");$response->end(getTplConten t());});$http->start();functiongetTplContent(){return"helloS wooletest\n";}?>test.phpn";}?>test_request.php;?>nginx配置test.confserver{listen???80;server_namewww.482223 .com;...location~\.php${proxy_http_version1.1;proxy_set_head erConnection"keep-alive";proxy_set_headerX-Real-IP$remote_ad dr;proxy_passhttps://www.267774.com;}} |
|