【问题标题】:Whats the point of running Laravel with the command 'php artisan serve'?使用“php artisan serve”命令运行 Laravel 有什么意义?
【发布时间】:2017-04-15 00:26:04
【问题描述】:

我似乎不明白为什么我们需要使用 php artisan serve 运行 Laravel 应用程序而不是仅使用 Apache 或 nginx 运行它。我知道在开发中,我们使用 artisan 来启动网站,部署到服务器后,您使用网络服务器加载网站。

首先在 artisan 中运行应用程序有什么用?

【问题讨论】:

  • 您不必需要这样做。它适用于由于某种原因您没有可用的 Web 服务器的情况。这个原因可能是任何原因,因此要涵盖服务器不可用或配置错误的情况 - 您可以使用php artisan serve。
  • 为什么没有足够的文档?
  • 为什么会有?没有任何暗示您必须使用它,它只是在您可能需要它的情况下存在。某些功能不需要记录到涵盖所有可能的使用场景的地步。你有 nginx / Apache 吗?伟大的!您没有并且想要快速检查某些内容或测试项目的一部分?没问题,快速php artisan serve 完成这项工作,只需几秒钟将其键入 CLI 即可启动并运行。无需过多考虑此特定功能。

标签: php apache laravel laravel-artisan


【解决方案1】:

serve 命令只是PHP Built-in Webserver 的快捷方式,这是 PHP 开箱即用的东西,所以使用它的目的是尽可能快地开始测试您的应用程序,您只需要安装 PHP , Composer 和您的应用程序已启动(当然,如果您不需要其他任何东西)。但是如果你已经安装了 Nginx,那就没有任何意义了,直接用吧。

在生产环境中使用内置网络服务器是不明智的。

【讨论】:

  • 感谢您的解释。但是很奇怪,我执行的是等价的命令,却没有加载资产:php -S 127.0.0.1:8000 C:/wamp/www/pym/server.php你知道为什么吗?
  • 我遇到了与@JCarlosR 相同的问题,但能够通过从公共域运行“php -S”或在命令末尾添加“-t public”来解决它。跨度>
【解决方案2】:

在开发过程中使用php artisan serve 而不是典型的网络服务器的一个优点是您可以使用 Psysh 作为调试器 (Laravel Tinker) 来设置断点。

例如,在我想打断的代码行:

eval(\Psy\sh());

然后我点击将运行该部分代码的页面,当它到达该行时,它将进入一个 Psy Shell repl(在我启动 php artisan serve 的命令行窗口中)。然后我可以在执行时检查变量等。这对于调试非常有用。据我所知,您不能在运行 Apache/Nginx 时执行此操作。它必须与工匠服务(或运行自动化测试)一起使用。

更多信息在这里:

https://tighten.co/blog/supercharge-your-laravel-tinker-workflow

http://psysh.org/

【讨论】:

    【解决方案3】:

    目的:使用Php artisan serve(PHP内置服务器)的目的只是为了测试和轻松启动您的项目,不应该在实际网站部署中使用它。

    资产不工作:始终将您的索引文件公开,这是 Laravel 框架的美感和安全性,您的资产将始终有效。如果您厌倦了使用 C:/wamp/www/pym/server.php 之类的自定义 URL,则在本地使用虚拟主机,但不要但不要将索引放在公共文件夹之外。 如果你真的想在你的根目录中使用索引,那么你应该自定义你所有的 asset() 和 url() 帮助函数,并且应该把你的确切 url 示例资产(' /login') 应更改为asset('localhost/yourprojectroot/login')。

    【讨论】:

      【解决方案4】:
      php artisan serve --host your_server_ip --port 8000
      

      复制 http://your_server_ip:8000 并在浏览器中运行

      【讨论】:

        【解决方案5】:

        嗯,一直在寻找相同的答案,但找不到任何令人满意的答案,如果您也像我一样不满意,请尝试运行运行时返回的链接

        php artisan serve
        

        返回

        Laravel development server started: <http://127.0.0.1:8000>
        

        复制 /http://127.0.0.1:8000 并在浏览器中运行它,猜猜它返回什么);你第一次安装 laravel 时第一次得到的页面,或者我猜它会返回路由文件夹中的页面设置为 /home 目录或文件(默认主页)。

        简而言之:

        php artisan serve
        

        启动发球,例如,当您要开车并且在开车前启动发动机时,您可以同时启动发动机和开车,这不是必须的,而是取决于。所以对我来说就是这样php artisan serve CLI。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-18
          • 1970-01-01
          • 2017-04-02
          • 2015-04-03
          • 2021-08-18
          • 2021-07-03
          • 2018-01-31
          • 2020-01-09
          相关资源
          最近更新 更多