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


What is the significance of Application URL in laravel 5

Config/app.php中,在Laravel源代码中,url的实际用途是什么?

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

我的意思是它应该是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/',

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

用例:

我将使用来自/app/Console/Kernel.php laravel schedular,它将调度periodic sendMail commands,进而将要在数据库中发送的邮件排队,并queue listner正常处理队列

队列在本地主机(我的本地 xamp 服务器(上工作正常,但我担心生产中的url值应该是多少

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

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

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

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

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

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

在生产时,它应该设置为

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

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

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