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

webman v1.3.21 composer update 到 v1.4.2 啟動(dòng)報(bào)錯(cuò)

daniel

截圖

start.php 代碼區(qū)域

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

use Workerman\Worker;
use Workerman\Protocols\Http;
use Workerman\Connection\TcpConnection;
use Webman\App;
use Webman\Config;
use Webman\Route;
use Webman\Middleware;
use Dotenv\Dotenv;
use support\Request;
use support\bootstrap\Log;
use support\bootstrap\Container;

if (method_exists('Dotenv\Dotenv', 'createUnsafeImmutable')) {
    Dotenv::createUnsafeImmutable(base_path())->load();
    //設(shè)置不同的環(huán)境讀取不同的配置
    $env = getenv('APP_ENV')??null;
    $env = $env ? '.env.'.$env : null;
    Dotenv::createUnsafeImmutable(base_path(),$env)->load();
} else {
    Dotenv::createMutable(base_path())->load();
    //設(shè)置不同的環(huán)境讀取不同的配置
    $env = getenv('APP_ENV')??null;
    $env = $env ? '.env.'.$env : null;
    Dotenv::createMutable(base_path(),$env)->load();
}

Config::load(config_path(), ['route', 'container']);
$config = config('server');

if ($timezone = config('app.default_timezone')) {
    date_default_timezone_set($timezone);
}

Worker::$onMasterReload = function (){
    if (function_exists('opcache_get_status')) {
        if ($status = opcache_get_status()) {
            if (isset($status['scripts']) && $scripts = $status['scripts']) {
                foreach (array_keys($scripts) as $file) {
                    opcache_invalidate($file, true);
                }
            }
        }
    }
};

Worker::$pidFile                      = $config['pid_file'];
Worker::$stdoutFile                   = $config['stdout_file'];
TcpConnection::$defaultMaxPackageSize = $config['max_package_size'] ?? 10*1024*1024;

$worker = new Worker($config['listen'], $config['context']);
$property_map = [
    'name',
    'count',
    'user',
    'group',
    'reusePort',
    'transport',
];
foreach ($property_map as $property) {
    if (isset($config[$property])) {
        $worker->$property = $config[$property];
    }
}

$worker->onWorkerStart = function ($worker) {
    set_error_handler(function ($level, $message, $file = '', $line = 0, $context = []) {
        if (error_reporting() & $level) {
            throw new ErrorException($message, 0, $level, $file, $line);
        }
    });
    register_shutdown_function(function ($start_time) {
        if (time() - $start_time <= 1) {
            sleep(1);
        }
    }, time());
    foreach (config('autoload.files', []) as $file) {
        include_once $file;
    }
    if (method_exists('Dotenv\Dotenv', 'createUnsafeMutable')) {
        Dotenv::createUnsafeMutable(base_path())->load();
    } else {
        Dotenv::createMutable(base_path())->load();
    }
    Config::reload(config_path(), ['route', 'container']);
    foreach (config('bootstrap', []) as $class_name) {
        /** @var \Webman\Bootstrap $class_name */
        $class_name::start($worker);
    }
    $app = new App($worker, Container::instance(), Log::channel('default'), app_path(), public_path());
    Route::load(config_path() . '/route.php');
    Middleware::load(config('middleware', []));
    Middleware::load(['__static__' => config('static.middleware', [])]);
    Http::requestClass(Request::class);

    $worker->onMessage = [$app, 'onMessage'];
};

foreach (config('process', []) as $process_name => $config) {
    $worker = new Worker($config['listen'] ?? null, $config['context'] ?? []);
    $property_map = [
        'count',
        'user',
        'group',
        'reloadable',
        'reusePort',
        'transport',
        'protocol',
    ];
    $worker->name = $process_name;
    foreach ($property_map as $property) {
        if (isset($config[$property])) {
            $worker->$property = $config[$property];
        }
    }

    $worker->onWorkerStart = function ($worker) use ($config) {
        foreach (config('autoload.files', []) as $file) {
            include_once $file;
        }
        Dotenv::createMutable(base_path())->load();
        Config::reload(config_path(), ['route']);

        $bootstrap = $config['bootstrap'] ?? config('bootstrap', []);
        if (!in_array(support\bootstrap\Log::class, $bootstrap)) {
            $bootstrap[] = support\bootstrap\Log::class;
        }
        foreach ($bootstrap as $class_name) {
            /** @var \Webman\Bootstrap $class_name */
            $class_name::start($worker);
        }

        foreach ($config['services'] ?? [] as $server) {
            if (!class_exists($server['handler'])) {
                echo "process error: class {$config['handler']} not exists\r\n";
                continue;
            }
            $listen = new Worker($server['listen'] ?? null, $server['context'] ?? []);
            if (isset($server['listen'])) {
                echo "listen: {$server['listen']}\n";
            }
            $instance = Container::make($server['handler'], $server['constructor'] ?? []);
            worker_bind($listen, $instance);
            $listen->listen();
        }

        if (isset($config['handler'])) {
            if (!class_exists($config['handler'])) {
                echo "process error: class {$config['handler']} not exists\r\n";
                return;
            }

            $instance = Container::make($config['handler'], $config['constructor'] ?? []);
            worker_bind($worker, $instance);
        }

    };
}

Worker::runAll();
1892 3 0
3個(gè)回答

walkor 打賞

升級(jí)后執(zhí)行 php webman install 安裝

  • daniel 2022-08-15

    在項(xiàng)目根目錄下執(zhí)行后提示 Could not open input file: webman,我需要如何配置

  • daniel 2022-08-15

    依然有問(wèn)題,后邊我參照下這個(gè)地址:http://wtbis.cn/q/8151 試下,感覺(jué)現(xiàn)在我的問(wèn)題和這個(gè)描述的差不多

  • walkor 2022-08-15

    執(zhí)行 composer require workerman/webman-framework ^1.4.2 && composer require webman/console ^1.0.27 && php webman install 然后截圖

daniel

截圖

  • daniel 2022-08-16

    啟動(dòng)后和一開(kāi)始截圖報(bào)的問(wèn)題一致

  • walkor 2022-08-16

    你這個(gè)webman版本是最老的那一版,無(wú)法自動(dòng)安裝webman命令行。你把vendor/webman/console/src/webman 拷貝到當(dāng)前目錄,執(zhí)行 php webman install

  • daniel 2022-08-16

    試過(guò),依然有問(wèn)題

daniel

截圖

  • walkor 2022-08-16

    版本太老了,手動(dòng)將
    vendor/workerman/webman-framework/src下的
    start.php
    windows.php
    拷貝到當(dāng)前目錄

    手動(dòng)將
    vendor/workerman/webman-framework/src/support 下的
    bootstrap.php
    helpers.php
    拷貝到當(dāng)前目錄的support/ 下

  • daniel 2022-08-16

    還是不行,項(xiàng)目結(jié)構(gòu)有大的變動(dòng),手頭的緊急的事搞完,我重新拉個(gè)項(xiàng)目遷移下吧

  • daniel 2022-08-16

    感謝大佬回復(fù)解答

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