【问题标题】:Laravel php artisan serve logs stored and start artisan serve automaticallyLaravel php artisan serve 日志存储并自动启动 artisan serve
【发布时间】:2016-03-09 22:27:23
【问题描述】:

我想知道:

  1. Laravel php artisan serve 命令日志存储在哪里?
  2. 如何在服务器(Apache)启动时自动启动php artisan serve

【问题讨论】:

    标签: laravel laravel-artisan


    【解决方案1】:
    1. Laravel 日志存储在 storage/logs 中
    2. 如果您让 Apache 处理您的 HTTP 流量,则不需要 artisan serve

    【讨论】:

    • 实际上正在开发一个与 laravel 集成的 Angular 应用程序,并且 Angular 应用程序在端口 8080 上运行,这要求我已将服务器设置为在端口 8080 上运行,但该应用程序不会运行,直到我运行php artisan serve 以在该端口上运行任何建议都强烈推荐。
    • 你的意思是你想让 Laravel 在不同的端口上而不是 angular?查看supervisord。
    • 给你supervisord.org;但是,我仍然认为您可以通过 Apache 处理,例如在子域上托管 Laravel,例如 api.example.com。
    【解决方案2】:

    我绝对建议不要像 EVER 那样在生产中使用 artisan 的服务器,它仅用于测试。 -- 你最好使用 nginx 作为反向代理,你可以设置你想要的任何端口,并让你的 Angular 应用程序仍然连接到它。

    【讨论】:

    • 在 apache 上试过这个,但在工匠(php 服务器)启动之前显然不起作用!
    【解决方案3】:

    第一个问题

    Laravel php artisan serve 命令日志存储在哪里?

    Laravel 服务器日志存储在storage/logs 文件夹中,其中包含服务器日志文件

    到第二个问题

    如何在服务器(Apache)启动时自动启动 php artisan serve ?

    如果您需要自动执行此操作,一个非常简单的方法是使用 laravel 使用 cron 调度 Artisan 命令

    1. 确保已安装 cron yum install vixie-cron(假设您使用 centos)。以service crond start 开头
    2. 添加 laravel Schedule 对象 vi /etc/crontab 和添加 * * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1 到 cron 计划文件中。
    3. 转到 app/Console/Kernel.php 文件并添加 $schedule->command('foo')->withoutOverlapping(); 其中 foo 是您要在这种情况下运行的工匠命令 serve ,所以它应该是 $schedule->command('serve')->withoutOverlapping();

    4. 使用 service crond restart 重新启动 cron 守护程序。

    查看这个相关问题https://stackoverflow.com/a/34096590/1226748

    【讨论】:

      猜你喜欢
      • 2018-01-18
      • 2016-10-01
      • 2018-02-22
      • 2018-09-17
      • 2017-12-10
      • 2013-10-09
      • 2019-08-01
      • 2021-04-09
      • 1970-01-01
      相关资源
      最近更新 更多