现状
php think run 的 --host 和 --port 参数只能通过命令行传入,硬编码默认值为 0.0.0.0 和 8000:
// src/think/console/command/RunServer.php
$host = $input->getOption('host');
$port = $input->getOption('port');
需求
希望在 .env 中可以配置默认值,避免每次启动都要手动传参:
[SERVER]
HOST=0.0.0.0
PORT=9000
建议改动
$host = $input->getOption('host') ?: env('server.host', '0.0.0.0');
$port = $input->getOption('port') ?: env('server.port', 8000);
改动两行,完全向后兼容,不传 env 也不传参时行为不变。命令行参数优先级最高。
现状
php think run 的 --host 和 --port 参数只能通过命令行传入,硬编码默认值为 0.0.0.0 和 8000:
// src/think/console/command/RunServer.php
$host = $input->getOption('host');
$port = $input->getOption('port');
需求
希望在 .env 中可以配置默认值,避免每次启动都要手动传参:
[SERVER]
HOST=0.0.0.0
PORT=9000
建议改动
$host = $input->getOption('host') ?: env('server.host', '0.0.0.0');
$port = $input->getOption('port') ?: env('server.port', 8000);
改动两行,完全向后兼容,不传 env 也不传参时行为不变。命令行参数优先级最高。