使用php artisan命令的URL :: asset()为我提供了localhost链接

gre*_*ena 3 php laravel laravel-4

我尝试使用带有php artisan of Laravel的CLI命令发送一些电子邮件,这很简单:

 php artisan invitation:send recipient@mail.com
Run Code Online (Sandbox Code Playgroud)

此命令调用UserController方法,该方法包含:

Mail::send('emails.beta.invitation', $data, function($message) use ($address)
{
    $message->to($address)
            ->subject('My subject');

});
Run Code Online (Sandbox Code Playgroud)

问题是当它使用视图创建HTML时,URL::asset('img/foo.png')模板中的所有引用都给了我一个漂亮的:

http://localhost/img/foo.png 
Run Code Online (Sandbox Code Playgroud)

而不是网站网址:

http://mydomain.com/img/foo.png
Run Code Online (Sandbox Code Playgroud)

如果我通过在Web浏览器中调用此方法来调用此方法,则可以获得资产的良好URI.我甚至尝试使用CLI的环境,但它不起作用.(即--env=production)

我哪里错了?

gre*_*ena 8

好吧,我明白了.

使用CLI时,Laravel使用配置文件app/config/app.php来读取'url'(默认值'url' => 'http://localhost').

所以我只需要在下面创建一个新的配置文件app/config/local/app.php:

<?php
return array(
    'url' => 'http://localhost:8000',
);
Run Code Online (Sandbox Code Playgroud)

并改变app/config/app.php我的生产价值:

'url' => 'http://mydomain.com'
Run Code Online (Sandbox Code Playgroud)

现在它运作良好!