Подтвердить что ты не робот

Каково значение URL-адреса приложения в laravel 5

в 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 и, в свою очередь, будет помещать в очередь почту, отправляемую в базе данных, и queue listner, чем обрабатывает очередь как обычно

Очереди отлично работают на localhost (мой локальный сервер xamp), однако я обеспокоен тем, что должно быть значением url в производстве

4b9b3361

Ответ 1

Когда пользователь посещает ваш сайт, 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-запроса, URL-адрес базового приложения будет выбран из значения конфигурации, установленного в config/app.php.

Как следует надеяться, теперь будет немного более ясно, значение url должно быть установлено на http-url для вашего приложения, а не на любой путь к каталогу. В вашем примере это должно быть http://mydomainname.com.

Ответ 2

когда на производстве он должен быть установлен на

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

Как вы упомянули, он будет использоваться командами и очередями ремесленников.

Вы можете использовать .env для хранения своего домена. http://laravel.com/docs/5.1#environment-configuration