в Config/app.php
в источнике 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 – /var/www/laravel/public
а на http://mydomainname.com
указывается разрешение в /var/www/laravel/public
Вариант использования:
Я буду использовать laravel schedular
из /app/Console/Kernel.php
который будет отправлять periodic sendMail commands
и это, в свою очередь, будет periodic sendMail commands
в очередь письма, которые будут отправляться в базе данных и в queue listner
чем обрабатывает очередь как обычно
Очереди отлично работают на localhost (мой локальный сервер 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')
для ссылки ( URL::route('route.name')
). Поскольку этот код выполняется внутри команды и не связан ни с одним типом HTTP-запроса, URL-адрес базового приложения будет выбран из значения конфигурации, установленного в config/app.php
.
Как следует надеяться, теперь будет немного более ясно, значение url
должно быть установлено на http-url для вашего приложения, а не на любой путь к каталогу. В вашем примере это должно быть http://mydomainname.com
.
когда на производстве он должен быть установлен на
'url' => 'http://your-live-domain.com',
Как вы упомянули, это будет использоваться командами и очередями ремесленников.
Вы можете использовать .env
для хранения своего домена. http://laravel.com/docs/5.1#environment-configuration