webman 里面使用$_SERVER里面怎么什么參數(shù)都沒有
print_r($_SERVER);
輸出參數(shù)很多都沒有
Array
(
[COMMAND_MODE] => unix2003
[HOME] => /Users/junweiluo
[__CF_USER_TEXT_ENCODING] => 0x1F5:0x19:0x34
[LOGIN_SHELL] => 1
[PATH] => /usr/local/mysql/bin:/usr/local/opt/php@7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/mysql/bin:/usr/local/opt/php@7.4/sbin:/usr/local/opt/php@7.4/bin:/Users/junweiluo/opt/anaconda3/bin:/Users/junweiluo/opt/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
[USER] => junweiluo
[SSH_AUTH_SOCK] => /private/tmp/com.apple.launchd.GlhUgQ8FEq/Listeners
[__INTELLIJ_COMMAND_HISTFILE__] => /Users/junweiluo/Library/Application Support/JetBrains/PhpStorm2020.3/terminal/history/history-822
[TMPDIR] => /var/folders/81/hwj2hq1j4g11sr1yzwf32yfr0000gn/T/
[SHELL] => /bin/zsh
[LOGNAME] => junweiluo
[XPC_SERVICE_NAME] => 0
[LC_CTYPE] => zh_CN.UTF-8
[XPC_FLAGS] => 0x0
[__CFBundleIdentifier] => com.jetbrains.PhpStorm
[TERM] => xterm-256color
[TERMINAL_EMULATOR] => JetBrains-JediTerm
[SHLVL] => 1
[PWD] => /usr/local/var/www/risk-control-api
[OLDPWD] => /usr/local/var/www/risk-control-api
[CONDA_EXE] => /Users/junweiluo/opt/anaconda3/bin/conda
[_CE_M] =>
[_CE_CONDA] =>
[CONDA_PYTHON_EXE] => /Users/junweiluo/opt/anaconda3/bin/python
[CONDA_SHLVL] => 1
[CONDA_PREFIX] => /Users/junweiluo/opt/anaconda3
[CONDA_DEFAULT_ENV] => base
[CONDA_PROMPT_MODIFIER] => (base)
[_] => /usr/local/opt/php@7.4/bin/php
[PHP_SELF] => start.php
[SCRIPT_NAME] => start.php
[SCRIPT_FILENAME] => start.php
[PATH_TRANSLATED] => start.php
[DOCUMENT_ROOT] =>
[REQUEST_TIME_FLOAT] => 1680081333.9622
[REQUEST_TIME] => 1680081333
[argv] => Array
(
[0] => start.php
[1] => start
)
[argc] => 2
)
你可以使用中間件把需要用到的參數(shù)注入 $_SERVER
中,例子如下:
app/middleware/ServerArgsInject.php
,內(nèi)容如下:<?php
namespace app\middleware;
use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;
class ServerArgsInject implements MiddlewareInterface
{
public function process(Request $request, callable $handler) : Response
{
// 需要啥自己注入即可...
$_SERVER['REQUEST_METHOD'] =$request->method();
$_SERVER['REQUEST_URI'] = $request->uri();
$_SERVER['QUERY_STRING'] = $request->queryString();
$response = $handler($request);
return $response;
}
}
config/middleware.php
,引入中間件:<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://m.wtbis.cn/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
''=>[
app\middleware\ServerArgsInject::class,
]
];