'php artisan serve'和'php -S localhost:8000 -t public'之间的区别?

时间:2018-03-11 12:30:01

标签: php laravel windows-7 xampp

我想用

运行我的laravel5项目
php artisan serve

但我有一个空白页面。然后我尝试了

php -S localhost:8000 -t public

它有效。

奇怪的是,第一个命令在开始时对我起作用,现在它没有。

我也尝试在我的浏览器中调用:

http://localhost/myProject/public/ 

在这种情况下,它工作但没有加载我的css文件。

有人可以解释一下这些命令之间的差异以及为什么第一个命令不再适合我了吗?

1 个答案:

答案 0 :(得分:1)

理解Laravel编码的最佳方法是阅读代码本身。

您可以参考vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php

命令实际上是对此进行调用。

/** * Get the full server command. * * @return string */ protected function serverCommand() { return sprintf('%s -S %s:%s %s/server.php', ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false)), $this->host(), $this->port(), ProcessUtils::escapeArgument($this->laravel->basePath()) ); }

你问什么是不同的。不同的是php artisan serve具体在参数中添加/server.phpphp -S不包含该内容。