国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

GatewayWorker reload [-d] 失敗

kenxu

問題描述

使用GatewayWorker 進(jìn)行開發(fā),在Events.php文件的onMessage中修改了代碼,然后 “php start.php reload [-d]” 發(fā)現(xiàn)新的代碼并沒有reload 。但本地的mac上又可以reload

restart 都可以
環(huán)境:
服務(wù)器: Centos + PHP7.2 + GatewayWorker 3.0.22
MAC : PHP7.2 + + GatewayWorker 3.0.22

public static function onMessage($client_id, $message)
{
      self::addLog(PHP_EOL.'test-'.time().PHP_EOL);//新加
      return Gateway::sendToClient($client_id, $message);
}

public static function addLog($msg = '',$level = 'info'){
        $now = \DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''));
        $msg = $now->format("Y-m-d H:i:s.u") . "\t" . $msg . PHP_EOL;
        $fileName = 'app_'.date('Ymd').'_'.$level.'.log';
        @file_put_contents($fileName,$msg,FILE_APPEND);
}

請(qǐng)問還有那些可能因素導(dǎo)致?感謝!

我看了下舊的帖

1、我是在onXXX內(nèi)
http://wtbis.cn/q/1988
2、我關(guān)閉了服務(wù)器的opcache也不行
http://wtbis.cn/q/7459
3、根據(jù)以下我在Events.php的onWorkerStart打印了 var_dump(get_included_files());
發(fā)現(xiàn)文件被包含在里面,但是我看文檔(http://wtbis.cn/doc/workerman/install/start-and-stop.html) 和1中舉的例子應(yīng)該可以被reload
截圖
http://wtbis.cn/q/6747

1292 1 0
1個(gè)回答

walkor 打賞

onWorkerStart打印了 var_dump(get_included_files()); 如果文件被包含在里面是不能熱更新的。
你可以在Events.php 里輸出調(diào)用棧,看下是哪個(gè)邏輯提前加載了Events.php 文件,Events.php 里代碼結(jié)構(gòu)類似

<?php

echo new \Exception('test');

class Events {

}
  • kenxu 2022-10-14

    Exception: test in /data/www/app/barrage/Events.php:21
    Stack trace:
    0 /data/www/vendor/workerman/workerman/Autoloader.php(60): require_once()
    1 [internal function]: Workerman\Autoloader::loadByNamespace('Events')
    2 [internal function]: spl_autoload_call('Events')
    3 /data/www/vendor/workerman/gateway-worker/src/BusinessWorker.php(226): is_callable('Events::onWorke...')
    4 /data/www/vendor/workerman/workerman/Worker.php(2450): GatewayWorker\BusinessWorker->onWorkerStart(Object(GatewayWorker\BusinessWorker))
    5 /data/www/vendor/workerman/gateway-worker/src/BusinessWorker.php(197): Workerman\Worker->run()
    6 /data/www/vendor/workerman/workerman/Worker.php(1574): GatewayWorker\BusinessWorker->run()
    7 /data/www/vendor/workerman/workerman/Worker.php(1416): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
    8 /data/www/vendor/workerman/workerman/Worker.php(1390): Workerman\Worker::forkWorkersForLinux()
    9 /data/www/vendor/workerman/workerman/Worker.php(557): Workerman\Worker::forkWorkers()
    10 /data/www/start.php(37): Workerman\Worker::runAll()

    看起來是框架的自動(dòng)加載

  • walkor 2022-10-14

    Events.php的onWorkerStart里打印var_dump(get_included_files());包含Events.php是正常的。

    運(yùn)行ps auxf看下是不是啟動(dòng)了多個(gè)gatewayWorker,訪問到了另外一個(gè)gatewayWorker中。
    或者是不是分布式部署了,訪問到了其它的服務(wù)器。

  • kenxu 2022-10-14

    root 21641 0.0 0.1 591980 9600 ? S 07:50 0:00 _ WorkerMan: worker process BarrageGateway websocket://0.0.0.0:7272
    root 21642 0.0 0.1 591980 9688 ? S 07:50 0:00 _ WorkerMan: worker process BarrageGateway websocket://0.0.0.0:7272
    root 21643 0.0 0.1 591980 9856 ? S 07:50 0:00 _ WorkerMan: worker process BarrageGateway websocket://0.0.0.0:7272
    root 21644 0.0 0.1 591980 9860 ? S 07:50 0:00 _ WorkerMan: worker process BarrageGateway websocket://0.0.0.0:7272
    root 21647 0.0 0.1 591980 9156 ? S 07:50 0:00 _ WorkerMan: worker process BarrageRegister text://0.0.0.0:1236
    root 30420 0.0 0.1 594204 11452 ? S 08:14 0:00 _ WorkerMan: worker process BarrageBusinessWorker none
    root 30423 0.0 0.1 591980 9644 ? S 08:14 0:00 _ WorkerMan: worker process BarrageBusinessWorker none
    root 30426 0.0 0.1 591980 9648 ? S 08:14 0:00 _ WorkerMan: worker process BarrageBusinessWorker none
    root 30429 0.0 0.1 594200 11368 ? S 08:14 0:00 _ WorkerMan: worker process BarrageBusinessWorker none
    我是一臺(tái)服務(wù)器沒有進(jìn)行分布式,gateway和register都是127.0.0.1本地,只開了一個(gè)gatewayWorker 項(xiàng)目

  • walkor 2022-10-14

    看起來都是正常的

  • walkor 2022-10-14

    有可能還是opcache沒關(guān)閉,執(zhí)行 php -i | grep opcache.enable 看下 opcache.enable_cli 是否關(guān)閉

  • kenxu 2022-10-14

    opcache.enable => Off => Off
    opcache.enable_cli => Off => Off
    opcache.enable_file_override => Off => Off
    手動(dòng)關(guān)閉了opcache,再次reload還是不行。
    我的系統(tǒng)是Linux ip-xxxx.compute.internal 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

年代過于久遠(yuǎn),無法發(fā)表回答
??