Application URL 在 laravel 5 中的意义是什么
What is the significance of Application URL in laravel 5
in Config/app.php
in laravel源码,url
的实际用途是什么?
它说应用程序 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/',
假设我的应用程序源位于 /var/www/
目录并且 laravel public 文件夹是 /var/www/laravel/public
并且 http://mydomainname.com
指向解析 /var/www/laravel/public
目录
用例:
我将使用 /app/Console/Kernel.php
中的 laravel schedular
,它将发送 periodic sendMail commands
,然后将要在数据库中发送的邮件排队,queue listner
比正常处理队列
队列在本地主机(我的本地 xamp 服务器)上工作正常,但我担心生产中的 url
值应该是多少
生产时,应设置为
'url' => 'http://your-live-domain.com',
正如您提到的,它将被 artisan 命令和队列使用。
您可以利用 .env
来存储您的活动域。 http://laravel.com/docs/5.1#environment-configuration
当用户访问您的网站时,Laravel 从 PHP 的 superglobals($_SERVER、$_GET、$_POST 等)获取有关请求的大量信息。此信息的一部分是请求 URL.
例如,如果您访问请求方法 url()
或 path()
,则此信息是通过 $_SERVER 超全局检索的:
$url = Request::url();
$path = Request::path();
但是,artisan、commands、jobs 等无法从这些信息中获益。它不是来自用户的普通 HTTP 请求,它是来自命令行的 PHP 命令 运行。因此,Laravel 需要一种方法来确定应用程序的 url 应该是什么。这是配置值的来源。
在您的示例中,您计划从队列中发送电子邮件。想象一下,您需要在其中一封电子邮件中包含指向您网站路由的 link,因此您使用 UrlGenerator 为 link (URL::route('route.name')
) 获取 url .由于此代码在命令中 运行,并且与任何类型的 HTTP 请求无关,因此将从您在 config/app.php
中设置的配置值中选取基本应用程序 url .
现在应该更清楚了,url
值应该设置为应用程序的 http url,而不是任何类型的目录路径。在您的示例中,它应该是 http://mydomainname.com
.
in Config/app.php
in laravel源码,url
的实际用途是什么?
它说应用程序 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/',
假设我的应用程序源位于 /var/www/
目录并且 laravel public 文件夹是 /var/www/laravel/public
并且 http://mydomainname.com
指向解析 /var/www/laravel/public
目录
用例:
我将使用 /app/Console/Kernel.php
中的 laravel schedular
,它将发送 periodic sendMail commands
,然后将要在数据库中发送的邮件排队,queue listner
比正常处理队列
队列在本地主机(我的本地 xamp 服务器)上工作正常,但我担心生产中的 url
值应该是多少
生产时,应设置为
'url' => 'http://your-live-domain.com',
正如您提到的,它将被 artisan 命令和队列使用。
您可以利用 .env
来存储您的活动域。 http://laravel.com/docs/5.1#environment-configuration
当用户访问您的网站时,Laravel 从 PHP 的 superglobals($_SERVER、$_GET、$_POST 等)获取有关请求的大量信息。此信息的一部分是请求 URL.
例如,如果您访问请求方法 url()
或 path()
,则此信息是通过 $_SERVER 超全局检索的:
$url = Request::url();
$path = Request::path();
但是,artisan、commands、jobs 等无法从这些信息中获益。它不是来自用户的普通 HTTP 请求,它是来自命令行的 PHP 命令 运行。因此,Laravel 需要一种方法来确定应用程序的 url 应该是什么。这是配置值的来源。
在您的示例中,您计划从队列中发送电子邮件。想象一下,您需要在其中一封电子邮件中包含指向您网站路由的 link,因此您使用 UrlGenerator 为 link (URL::route('route.name')
) 获取 url .由于此代码在命令中 运行,并且与任何类型的 HTTP 请求无关,因此将从您在 config/app.php
中设置的配置值中选取基本应用程序 url .
现在应该更清楚了,url
值应该设置为应用程序的 http url,而不是任何类型的目录路径。在您的示例中,它应该是 http://mydomainname.com
.