ech*_*shu 21 php queue laravel laravel-5 artisan
在Config/app.phplaravel源中,实际使用的是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/',
Run Code Online (Sandbox Code Playgroud)
如果我的应用程序源位于/var/www/目录并且laravel公用文件夹是/var/www/laravel/public
,http://mydomainname.com则指向在/var/www/laravel/public目录中解析
使用案例:
我将使用laravel schedular 从/app/Console/Kernel.php将被调度periodic sendMail commands,并且反过来将排队的邮件到数据库并发送queue listner比将处理队列为正常
队列在localhost(我的本地xamp服务器)上正常工作但是我担心url生产中的值应该是什么
pat*_*cus 36
当用户访问您的网站时,Laravel会从PHP的超级全局($ _SERVER,$ _GET,$ _POST等)获取有关请求的大量信息.部分信息是请求URL.
例如,如果您访问请求方法url()或path(),则通过$ _SERVER超全局检索此信息:
$url = Request::url();
$path = Request::path();
Run Code Online (Sandbox Code Playgroud)
但是,工匠,命令,工作等不具备此信息的好处.它不是来自用户的普通HTTP请求,而是从命令行运行的PHP命令.因此,Laravel需要一种方法来确定应用程序的URL应该是什么.这是配置值的来源.
在您的示例中,您计划从队列中发送电子邮件.想象一下,您需要在其中一封电子邮件中包含指向您网站路线的链接,因此您可以使用UrlGenerator获取链接的网址(URL::route('route.name')).由于此代码在命令内运行,并且与任何类型的HTTP请求无关,因此将从您设置的配置值中选择基本应用程序URL config/app.php.
现在url应该更清楚一点,应该将值设置为应用程序的http url,而不是任何类型的目录路径.在你的例子中,它应该是http://mydomainname.com.
在生产时,应该设置为
'url' => 'http://your-live-domain.com',
Run Code Online (Sandbox Code Playgroud)
正如你所提到的,它将由工匠命令和队列使用.
您可以利用.env来存储您的实时域名.http://laravel.com/docs/5.1#environment-configuration