应用程序 URL 在 laravel 5 中的意义是什么

2022-08-30 18:22:02

在拉拉维尔源中,实际用途是什么?Config/app.phpurl

它说应用程序URL将由 使用,那么它实际上应该是什么?artisan command line tool

我的意思是它应该是或应该是或应该是http://mydomainname.com/var/www/laravel//var/www/laravel/public

当前配置

/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/

'url' => 'http://localhost/',

前提是我的应用程序源位于目录,并且 laravel 公用文件夹位于指向目录中/var/www//var/www/laravel/publichttp://mydomainname.com/var/www/laravel/public

用例:

我将使用从中调度,这反过来将排队要在数据库中发送的邮件,并且将像往常一样处理队列laravel schedular/app/Console/Kernel.phpperiodic sendMail commandsqueue listner

队列在localhost(我的本地xamp服务器)上工作正常,但我担心生产中的价值应该是什么url


答案 1

当用户访问您的网站时,Laravel会从PHP的超级全球($ _SERVER,$ _GET,$ _POST等)获得大量有关请求的信息。此信息的一部分是请求 URL。

例如,如果您访问请求方法 或 ,则此信息是通过 $_SERVER 超级全局检索的:url()path()

$url = Request::url();
$path = Request::path();

但是,工匠,命令,工作等没有这些信息的好处。它不是来自用户的普通HTTP请求,而是从命令行运行的PHP命令。因此,Laravel需要一种方法来确定应用程序的URL应该是什么。这就是配置值的用武之地。

在您的示例中,您计划从队列发送电子邮件。想象一下,您需要在其中一封电子邮件中包含指向网站路由的链接,以便使用Url生成器获取链接的URL()。由于此代码在命令中运行,并且与任何类型的 HTTP 请求无关,因此将从您在 中设置的配置值中获取基本应用程序 url。URL::route('route.name')config/app.php

希望现在应该更清楚一点,该值应设置为应用程序的 http url,而不是任何类型的目录路径。在您的示例中,它应该是 。urlhttp://mydomainname.com


答案 2

在生产中时,应将其设置为

'url' => 'http://your-live-domain.com',

正如你所提到的,它将被工匠命令和队列使用。

您可以利用它来存储您的实时域。http://laravel.com/docs/5.1#environment-configuration.env


推荐