有没有办法在自定义端口服务一个laravel应用程序,而不使用--port或者任何web服务器,比如nginx,apache,...?也许我们可以改变源代码。有没有可能?
--port
jhdbpxl91#
您可以转到此文件:
vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
并在线87改变默认端口。
87 ['port', null, InputOption::VALUE_OPTIONAL, 'The port to serve the application on.', 8000],
这种方式将允许您使用php artisan serve命令与您在该文件中设置的端口。(默认值为8000)。但请记住,不建议更改供应商文件夹内的代码。
php artisan serve
您可以使用wanted port创建别名,类似于:
paserve=php artisan serve --port=8080
然后当你调用paserve时,你会在那个端口上得到应用程序
paserve
fkaflof62#
正确的答案是伟大的!但我做了一个不同的解决方案,非常适合我对Laravel 8首先,使用以下命令创建一个新命令:php artisan make:command RunServer或您想要的任何名称然后,我将vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php类中的内容复制到我的RunServer类中(记得更改protected $name,我使用了'run'而不是serve)我所做的就是添加一个新的.env变量Eg.:APP_DEFAULT_PORT在config/app.php =〉'default_port' => env('APP_DEFAULT_PORT'),上添加新变量并在RunServer类中调用这个变量$port = $port ?: 8000;到x1米11米1x
php artisan make:command RunServer
RunServer
protected $name
'run'
serve
APP_DEFAULT_PORT
config/app.php
'default_port' => env('APP_DEFAULT_PORT'),
$port = $port ?: 8000;
h6my8fg23#
好吧,说到设置一个默认端口来监听,没有必要创建一个自定义命令,而只是在.env文件中设置SERVER_PORT=〈a free port number〉。从v5.8到现在,ServeCommand getOptions()函数负责SERVER_PORT环境变量,这是此类情况下最简单的解决方案:https://github.com/laravel/framework/blob/5.8/src/Illuminate/Foundation/Console/ServeCommand.php#L115最好的K
3条答案
按热度按时间jhdbpxl91#
溶液1
您可以转到此文件:
并在线87改变默认端口。
这种方式将允许您使用
php artisan serve
命令与您在该文件中设置的端口。(默认值为8000)。但请记住,不建议更改供应商文件夹内的代码。
溶液2
您可以使用wanted port创建别名,类似于:
然后当你调用
paserve
时,你会在那个端口上得到应用程序fkaflof62#
正确的答案是伟大的!但我做了一个不同的解决方案,非常适合我对Laravel 8
首先,使用以下命令创建一个新命令:
php artisan make:command RunServer
或您想要的任何名称然后,我将
vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
类中的内容复制到我的RunServer
类中(记得更改
protected $name
,我使用了'run'
而不是serve
)我所做的就是添加一个新的.env变量Eg.:
APP_DEFAULT_PORT
在
config/app.php
=〉'default_port' => env('APP_DEFAULT_PORT'),
上添加新变量并在
RunServer
类中调用这个变量$port = $port ?: 8000;
到
x1米11米1x
h6my8fg23#
好吧,说到设置一个默认端口来监听,没有必要创建一个自定义命令,而只是在.env文件中设置SERVER_PORT=〈a free port number〉。
从v5.8到现在,ServeCommand getOptions()函数负责SERVER_PORT环境变量,这是此类情况下最简单的解决方案:
https://github.com/laravel/framework/blob/5.8/src/Illuminate/Foundation/Console/ServeCommand.php#L115
最好的K