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

配置文件

位置

webman的配置文件在config/目錄下,項(xiàng)目中可以通過(guò)config()函數(shù)來(lái)獲取對(duì)應(yīng)的配置。

獲取配置

獲取所有配置

config();

獲取config/app.php里的所有配置

config('app');

獲取config/app.php里的debug配置

config('app.debug');

如果配置是數(shù)組,可以通過(guò).來(lái)獲取數(shù)組內(nèi)部元素的值,例如

config('file.key1.key2');

默認(rèn)值

config($key, $default);

config通過(guò)第二個(gè)參數(shù)傳遞默認(rèn)值,如果配置不存在則返回默認(rèn)值。
配置不存在且沒(méi)有設(shè)置默認(rèn)值則返回null。

自定義配置

開(kāi)發(fā)者可以在config/目錄下添加自己的配置文件,例如

config/payment.php

<?php
return [
    'key' => '...',
    'secret' => '...'
];

獲取配置時(shí)使用

config('payment');
config('payment.key');
config('payment.key');

更改配置

webman不支持動(dòng)態(tài)修改配置,所有配置必須手動(dòng)修改對(duì)應(yīng)的配置文件,并reload或restart重啟

注意
服務(wù)器配置config/server.php以及進(jìn)程配置config/process.php不支持reload,需要restart重啟才能生效

特別提醒

如果你是要在config下的子目錄創(chuàng)建配置文件并讀取,比如:config/order/status.php,那么config/order目錄下需要有一個(gè)app.php文件,內(nèi)容如下

<?php
return [
    'enable' => true,
];

enabletrue代表讓框架讀取這個(gè)目錄的配置。
最終配置文件目錄樹(shù)類似下面這樣

├── config
│?? ├── order
│?? │?? ├── app.php
│?? │?? └── status.php

這樣你就可以通過(guò)config.order.status讀取status.php中返回的數(shù)組或者特定的key數(shù)據(jù)了。

配置文件講解

server.php

return [
    'listen' => 'http://0.0.0.0:8787', // 監(jiān)聽(tīng)端口(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'transport' => 'tcp', // 傳輸層協(xié)議(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'context' => [], // ssl等配置(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'name' => 'webman', // 進(jìn)程名(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'count' => cpu_count() * 4, // 進(jìn)程數(shù)量(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'user' => '', // 用戶(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'group' => '', // 用戶組(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'reusePort' => false, // 是否開(kāi)啟端口復(fù)用(從1.6.0版本開(kāi)始移除, 改在config/process.php中配置)
    'event_loop' => '',  // 事件循環(huán)類,默認(rèn)自動(dòng)選擇
    'stop_timeout' => 2, // 收到stop/restart/reload信號(hào)時(shí),等待處理完成的最大時(shí)間,超過(guò)這個(gè)時(shí)間進(jìn)程未退出則強(qiáng)制退出
    'pid_file' => runtime_path() . '/webman.pid', // pid文件存儲(chǔ)位置
    'status_file' => runtime_path() . '/webman.status', // status文件存儲(chǔ)位置
    'stdout_file' => runtime_path() . '/logs/stdout.log', // 標(biāo)準(zhǔn)輸出文件位置,webman啟動(dòng)后所有輸出都會(huì)寫(xiě)入這個(gè)文件
    'log_file' => runtime_path() . '/logs/workerman.log', // workerman日志文件位置
    'max_package_size' => 10 * 1024 * 1024 // 最大數(shù)據(jù)包大小,10M。上傳文件大小受到此限制
];

app.php

return [
    'debug' => true,  // 是否開(kāi)啟debug模式,開(kāi)啟后頁(yè)面報(bào)錯(cuò)會(huì)輸出更多調(diào)試信息
    'error_reporting' => E_ALL, // 錯(cuò)誤報(bào)告級(jí)別
    'default_timezone' => 'Asia/Shanghai', // 默認(rèn)時(shí)區(qū)
    'public_path' => base_path() . DIRECTORY_SEPARATOR . 'public', // public目錄位置
    'runtime_path' => base_path(false) . DIRECTORY_SEPARATOR . 'runtime', // runtime目錄位置
    'controller_suffix' => 'Controller', // 控制器后綴
    'controller_reuse' => false, // 控制器是否復(fù)用
];

process.php

use support\Log;
use support\Request;
use app\process\Http;
global $argv;

return [
     // webman進(jìn)程配置
    'webman' => [ 
        'handler' => Http::class, // 進(jìn)程處理類
        'listen' => 'http://0.0.0.0:8787', // 監(jiān)聽(tīng)地址
        'count' => cpu_count() * 4, // 進(jìn)程數(shù)量,默認(rèn)cpu的4倍
        'user' => '', // 進(jìn)程運(yùn)行的用戶,應(yīng)該使用低級(jí)別用戶
        'group' => '', // 進(jìn)程運(yùn)行的用戶組,應(yīng)該使用低級(jí)別用戶組
        'reusePort' => false, // 是否開(kāi)啟reusePort,開(kāi)啟后連接會(huì)均勻分布到不同的worker進(jìn)程
        'eventLoop' => '', // 事件循環(huán)類,為空時(shí)自動(dòng)使用server.event_loop配置 
        'context' => [], // 監(jiān)聽(tīng)上下文配置,例如ssl
        'constructor' => [ // 進(jìn)程處理類構(gòu)造函數(shù)參數(shù),本例中是Http類的構(gòu)造函數(shù)參數(shù)
            'requestClass' => Request::class, // 可以自定義請(qǐng)求類
            'logger' => Log::channel('default'), // 日志實(shí)例
            'appPath' => app_path(), // app目錄位置
            'publicPath' => public_path() // public目錄位置
        ]
    ],
    // 監(jiān)控進(jìn)程,用于檢測(cè)文件更新自動(dòng)加載和內(nèi)存泄漏
    'monitor' => [
        'handler' => app\process\Monitor::class, // 處理類
        'reloadable' => false, // 當(dāng)前進(jìn)程不執(zhí)行reload
        'constructor' => [ // 進(jìn)程處理類構(gòu)造函數(shù)參數(shù)
            // 監(jiān)聽(tīng)的目錄,不要過(guò)多,會(huì)導(dǎo)致檢測(cè)變慢
            'monitorDir' => array_merge([
                app_path(),
                config_path(),
                base_path() . '/process',
                base_path() . '/support',
                base_path() . '/resource',
                base_path() . '/.env',
            ], glob(base_path() . '/plugin/*/app'), glob(base_path() . '/plugin/*/config'), glob(base_path() . '/plugin/*/api')),
            // 監(jiān)聽(tīng)這些后綴文件的更新
            'monitorExtensions' => [
                'php', 'html', 'htm', 'env'
            ],
            // 其它選項(xiàng)
            'options' => [
                // 是否開(kāi)啟文件監(jiān)控,僅在linux下有效,默認(rèn)守護(hù)進(jìn)程模式不開(kāi)啟文件監(jiān)控
                'enable_file_monitor' => !in_array('-d', $argv) && DIRECTORY_SEPARATOR === '/',
                // 是否開(kāi)啟內(nèi)存監(jiān)控,僅支持在linux下開(kāi)啟
                'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',
            ]
        ]
    ]
];

container.php

// 返回一個(gè)psr-11依賴注入容器實(shí)例
return new Webman\Container;

dependence.php

// 用于配置依賴注入容器中的服務(wù)和依賴關(guān)系
return [];

route.php


use support\Route;
// 定義/test路徑的路由
Route::any('/test', function (Request $request) {
    return response('test');
});

view.php

use support\view\Raw;
use support\view\Twig;
use support\view\Blade;
use support\view\ThinkPHP;

return [
    'handler' => Raw::class // 默認(rèn)視圖處理類 
];

autoload.php

// 配置框架自動(dòng)加載的文件
return [
    'files' => [
        base_path() . '/app/functions.php',
        base_path() . '/support/Request.php',
        base_path() . '/support/Response.php',
    ]
];

cache.php

// 緩存配置
return [
    'default' => 'file', // 默認(rèn)文件
    'stores' => [
        'file' => [
            'driver' => 'file',
            'path' => runtime_path('cache') // 緩存文件存儲(chǔ)位置
        ],
        'redis' => [
            'driver' => 'redis',
            'connection' => 'default' // redis連接名,對(duì)應(yīng)redis.php里的配置
        ],
        'array' => [
            'driver' => 'array' // 內(nèi)存緩存,重啟后失效
        ]
    ]
];

redis.php

return [
    'default' => [
        'host' => '127.0.0.1',
        'password' => null,
        'port' => 6379,
        'database' => 0,
    ],
];

database.php

return [
 // 默認(rèn)數(shù)據(jù)庫(kù)
 'default' => 'mysql',
 // 各種數(shù)據(jù)庫(kù)配置
 'connections' => [

     'mysql' => [
         'driver'      => 'mysql',
         'host'        => '127.0.0.1',
         'port'        => 3306,
         'database'    => 'webman',
         'username'    => 'webman',
         'password'    => '',
         'unix_socket' => '',
         'charset'     => 'utf8',
         'collation'   => 'utf8_unicode_ci',
         'prefix'      => '',
         'strict'      => true,
         'engine'      => null,
     ],

     'sqlite' => [
         'driver'   => 'sqlite',
         'database' => '',
         'prefix'   => '',
     ],

     'pgsql' => [
         'driver'   => 'pgsql',
         'host'     => '127.0.0.1',
         'port'     => 5432,
         'database' => 'webman',
         'username' => 'webman',
         'password' => '',
         'charset'  => 'utf8',
         'prefix'   => '',
         'schema'   => 'public',
         'sslmode'  => 'prefer',
     ],

     'sqlsrv' => [
         'driver'   => 'sqlsrv',
         'host'     => 'localhost',
         'port'     => 1433,
         'database' => 'webman',
         'username' => 'webman',
         'password' => '',
         'charset'  => 'utf8',
         'prefix'   => '',
     ],
 ],
];

exception.php

return [
    // 設(shè)置異常處理類 
    '' => support\exception\Handler::class,
];

log.php

return [
    'default' => [
        'handlers' => [
            [
                'class' => Monolog\Handler\RotatingFileHandler::class, // 處理器
                'constructor' => [
                    runtime_path() . '/logs/webman.log', // 日志名
                    7, //$maxFiles // 保留7天內(nèi)的日志
                    Monolog\Logger::DEBUG, // 日志級(jí)別
                ],
                'formatter' => [
                    'class' => Monolog\Formatter\LineFormatter::class, // 格式化器
                    'constructor' => [null, 'Y-m-d H:i:s', true], // 格式化參數(shù)
                ],
            ]
        ],
    ],
];

session.php

return [
     // 類型
    'type' => 'file', // or redis or redis_cluster
     // 處理器
    'handler' => FileSessionHandler::class,
     // 配置
    'config' => [
        'file' => [
            'save_path' => runtime_path() . '/sessions', // 存儲(chǔ)目錄
        ],
        'redis' => [
            'host' => '127.0.0.1',
            'port' => 6379,
            'auth' => '',
            'timeout' => 2,
            'database' => '',
            'prefix' => 'redis_session_',
        ],
        'redis_cluster' => [
            'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'],
            'timeout' => 2,
            'auth' => '',
            'prefix' => 'redis_session_',
        ]
    ],
    'session_name' => 'PHPSID', // session名
    'auto_update_timestamp' => false, // 是否自動(dòng)更新時(shí)間戳,避免session過(guò)期
    'lifetime' => 7*24*60*60, // 生命周期
    'cookie_lifetime' => 365*24*60*60, // cookie生命周期
    'cookie_path' => '/', // cookie路徑
    'domain' => '', // cookie域
    'http_only' => true, // 僅http訪問(wèn)
    'secure' => false, // 僅https訪問(wèn)
    'same_site' => '', // SameSite屬性
    'gc_probability' => [1, 1000], // session回收概率
];

middleware.php

// 設(shè)置中間件
return [];

static.php

return [
    'enable' => true, // 是否開(kāi)啟webman的靜態(tài)文件訪問(wèn)
    'middleware' => [ // 靜態(tài)文件中間件,可用于設(shè)置緩存策略、跨域等
        //app\middleware\StaticFile::class,
    ],
];

translation.php

return [
    // 默認(rèn)語(yǔ)言
    'locale' => 'zh_CN',
    // 回退語(yǔ)言
    'fallback_locale' => ['zh_CN', 'en'],
    // 語(yǔ)言文件存儲(chǔ)位置
    'path' => base_path() . '/resource/translations',
];
編輯于2024-12-17 15:13:34 完善本頁(yè) +發(fā)起討論
贊助商