Laravel (Laravel Framework 10.13.5) プロジェクトの
/vendor/laravel/framework/src/Illuminate/Foundation/Console/にある
ServeCommand.phpがArtisanのserveコマンドを記述しています。
このServeCommandクラスのserverCommand()メソッドのreturn文でコマンドの文字列 (の基となるもの) を生成しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/** * Get the full server command. * * @return array */ protected function serverCommand() { $server = file_exists(base_path('server.php')) ? base_path('server.php') : __DIR__.'/../resources/server.php'; return [ (new PhpExecutableFinder)->find(false), '-S', $this->host().':'.$this->port(), $server, ]; } |
つまり、
php artisan serve <addr>:<port>
というコマンドは
php [options] -S <addr>:<port> [-t docroot]
を実行していたということになります。
php -Sはビルトインウェブサーバーを起動するコマンドです。
本番環境で使ってはいけないとの警告が3回も公式ドキュメントの同じページに書かれています。
公開するなら素直にapacheやnginxで動かしましょう。