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

Cannot assign requested address

朱小明

請(qǐng)問這下面說的修改啟動(dòng)文件的ip,是哪個(gè)啟動(dòng)文件?PHP Warning:? stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in /home/GatewayWorker/Workerman/Worker.php on line xxxx
關(guān)鍵字:Cannot assign requested address
失敗原因:
啟動(dòng)腳本ip參數(shù)寫錯(cuò),不是本機(jī)ip,請(qǐng)?zhí)顚懕緳C(jī)ip機(jī)或者填寫?0.0.0.0(表示監(jiān)聽本機(jī)所有ip)即可解決。
提示:Linux系統(tǒng)可以通過命令?ifconfig查看本機(jī)所有網(wǎng)卡ip。

如果您是騰訊云用戶,注意您的公網(wǎng)ip實(shí)際是代理服務(wù)器ip,公網(wǎng)ip并不屬于你的服務(wù)器,所以無法通過公網(wǎng)ip綁定,但是可以通過0.0.0.0來綁定。

5625 1 0
1個(gè)回答

phpcreeper

1、啟動(dòng)文件都是自己編寫的,名字隨每個(gè)人的喜好而定,所以到底是哪個(gè)啟動(dòng)文件,這得看自己定的什么了。
2、一般默認(rèn)的入口啟動(dòng)文件就是 /path/to/start.php?
3、最笨辦法:?jiǎn)?dòng)文件都是有特點(diǎn)的,你看下官方啟動(dòng)文件長(zhǎng)什么樣,就知道自己的啟動(dòng)文件是什么了。?
4、服務(wù)端要監(jiān)聽的IP就是比如? new Worker("tcp://x.x.x.x:8888") 中的? x.x.x.x

  • 朱小明 2018-12-24

    我是直接在網(wǎng)上下載的GatewayWorker文件夾,我是在Event.php文件做邏輯判斷的,其次就是修改了start_businessworker和start_gateway的服務(wù)注冊(cè)地址為0.0.0.0:1238,start_register的text協(xié)議為L(zhǎng)inux服務(wù)器的ip。默認(rèn)的啟動(dòng)文件的代碼:
    ini_set('display_errors', 'on');
    use Workerman\Worker;

    if(strpos(strtolower(PHP_OS), 'win') === 0)
    {
    exit("start.php not support windows, please use start_for_win.bat\n");
    }

    // 檢查擴(kuò)展
    if(!extension_loaded('pcntl'))
    {
    exit("Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
    }

    if(!extension_loaded('posix'))
    {
    exit("Please install posix extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
    }

    // 標(biāo)記是全局啟動(dòng)
    define('GLOBAL_START', 1);

    require_once __DIR__ . '/vendor/autoload.php';

    // 加載所有Applications//start.php,以便啟動(dòng)所有服務(wù)
    foreach(glob(__DIR__.'/Applications/
    /start*.php') as $start_file)
    {
    require_once $start_file;
    }
    // 運(yùn)行所有服務(wù)
    Worker::runAll();

  • phpcreeper 2018-12-24

    @5023:
    1、start_.php 針對(duì)不同服務(wù)的局部的獨(dú)立啟動(dòng)文件;
    2、start.php 則是全局的啟動(dòng)文件,用來一次性啟動(dòng) start_
    .php 所對(duì)應(yīng)的所有相關(guān)服務(wù);

  • 朱小明 2018-12-24

    謝謝,終于明白start.php 的作用了

  • 朱小明 2018-12-24

    但是我按照他們的文件操作,我的系統(tǒng)是Linux的,會(huì)報(bào)錯(cuò):Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail

  • phpcreeper 2018-12-24

    @5023: 不客氣

  • 朱小明 2018-12-24

    但是我按照他們的文件操作,系統(tǒng)是Linux的,會(huì)報(bào)錯(cuò):Register auth timeout (127.0.0.1). See http://wiki.workerman.net/Error4 for detail

  • phpcreeper 2018-12-24

    @5023: http://wiki.workerman.net/Error4 原因說的很清楚啊

  • 朱小明 2018-12-25

    請(qǐng)問我在沒注冊(cè)GatewayWorker之前,MySQL連接操作是沒問題的,但是注冊(cè)之后就出現(xiàn)連接超時(shí)了。
    PDOException: SQLSTATE[HY000] [2002] Connection timed out in /home/www/chaobiao. aa.top/mysql-master/src/Connection.php:1711

  • phpcreeper 2018-12-25

    @5023: 什么是沒注冊(cè) GatewayWorker 之前? 沒聽懂, 最好能貼下樣板代碼。

  • zhouciming 2018-12-26

    昨天看了下Worker的源碼,發(fā)現(xiàn)一個(gè)啟動(dòng)文件中不支持多個(gè)Worker實(shí)例,為什么會(huì)這樣?

  • phpcreeper 2018-12-26

    @622: 是你理解錯(cuò)了吧,一直都支持。

  • zhouciming 2018-12-26

    @614:不好意思,我昨天看的是這段代碼,似乎是windows版本會(huì)這樣!你看看:

    /**
     * Fork some worker processes.
     *
     * @return void
     */
    protected static function forkWorkersForWindows()
    {
        $files = static::getStartFilesForWindows();
        global $argv;
        if(in_array('-q', $argv) || count($files) === 1)
        {
            if(count(static::$_workers) > 1)
            {
                static::safeEcho("@@@ Error: multi workers init in one php file are not support @@@\r\n");
                static::safeEcho("@@@ Please visit http://wiki.workerman.net/Multi_woker_for_win @@@\r\n");
            }
            elseif(count(static::$_workers) <= 0)
            {
                exit("@@@no worker inited@@@\r\n\r\n");
            }
    
            reset(static::$_workers);
            /** @var Worker $worker */
            $worker = current(static::$_workers);
    
            // Display UI.
            static::safeEcho(str_pad($worker->name, 21) . str_pad($worker->getSocketName(), 36) . str_pad($worker->count, 10) . "[ok]\n");
            $worker->listen();
            $worker->run();
            exit("@@@child exit@@@\r\n");
        }
        else
        {
            static::$globalEvent = new \Workerman\Events\Select();
            Timer::init(static::$globalEvent);
            foreach($files as $start_file)
            {
                static::forkOneWorkerForWindows($start_file);
            }
        }
    }
  • phpcreeper 2018-12-26

    @622: 我不玩windows, 針對(duì)window平臺(tái)的實(shí)現(xiàn)這塊兒不了解,所以不敢妄言。

  • zhouciming 2018-12-27

    @614:我也不玩windows,僅從這源碼來看,
    if(count(static::$_workers) > 1)
    {
    static::safeEcho("@@@ Error: multi workers init in one php file are not support @@@\r\n");
    static::safeEcho("@@@ Please visit http://wiki.workerman.net/Multi_woker_for_win @@@\r\n");
    }

    這里有個(gè)明顯的打印,接下去
    reset(static::$_workers);
    /* @634 Worker $worker /
    $worker = current(static::$_workers);

    這是僅啟動(dòng)一個(gè)worker!

  • phpcreeper 2018-12-28

    1、workerman 針對(duì)Linux 和 Windows在進(jìn)程控制方面的實(shí)現(xiàn)是完全不同的,Linux上版的workerman是基于pcntl_ 以及 posix_ 擴(kuò)展系列實(shí)現(xiàn)的多進(jìn)程以及信號(hào)編程,而Windows版的workerman是不支持這些擴(kuò)展的,換句話 Windows版的workerman 是純單進(jìn)程模型。
    2、從針對(duì)windows的源碼實(shí)現(xiàn)來看,一個(gè)啟動(dòng)文件確實(shí)不能啟動(dòng)多個(gè)worker實(shí)例,利用的proc_open() 機(jī)制啟動(dòng)的單進(jìn)程模型,所以才有了命令行同時(shí)啟動(dòng)多個(gè)文件來達(dá)到啟動(dòng)多個(gè)實(shí)例這檔子事,比如: php a.php b.php .....; 此外我們也能發(fā)現(xiàn) windows版的workerman 也不支持守護(hù)進(jìn)程、不支持start stop....等等命令,這都是因?yàn)闂l款1的原因,當(dāng)然也不排除可能有其他發(fā)方式可以實(shí)現(xiàn),至少目前Windows版本的workerman是不支持Linux版的很多高級(jí)特性的。

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