冲突

2017-04-26 122 views
1

我laravel五个瞬间我有不同的nginx的配置服务器工作正常
冲突

此外,我使用Redis的排队发送消息和生产ENV我缓存环境变量用PHP工匠config:cache我用config('app.url')代替env(app.url)

但是,当我想从PROJECT1队列发送消息,在消息显示,从项目4一些变量,当我运行php artisan config:clear工作正常

但我不想直接使用.ENV变量我想在生产中使用环境变量与缓存配置

我也用下面的命令,但不工作:

php artisan cache:clear 
php artisan route:clear 
php artisan queue:restart 
composer dump-autoload 
composer dump-autoload -o 
php artisan optimize 

这是我的.env文件:

APP_ENV=produnction 
    APP_DEBUG=true 

    APP_URL=http://name.com/api/v1.0 

    APP_DOMAIN=project1 
    APP_NAME_FA=project1 
    APP_NAME_EN=project1 

我该如何解决?

+0

你可以张贴'.env'文件?你可以使用不同的变量名称,'PROJECT1_URL'等 – Gntem

+0

没有办法不改变变量? – amirali

+0

小修正是'生产'不''produnction' – Gntem

回答

0

是的,您必须更改,您可以使用一个Laravel应用程序托管多个域,但.env将是每个应用程序一个,这就是为什么您获得相同的价值。

你可以尝试用自己的配置.env

使用创造了每个项目多Laravel应用一个Laravel应用程序处理多个域和一个.env使用不同的变量名称为每个项目。

解决此问题的另一种方法是在config目录下创建一个自定义配置文件,并将其放置在那里并使用config帮助程序。当您使用env,当你使用config ... env()会考虑.env第一和配置将考虑config目录

-update

要小心。

ex。 env('PREFIX_APP_URL')将考虑.envPREFIX_APP_URL

config('prefix.app.url')会考虑config目录文件的嵌套数组prefix文件数组

return array(
'app'=>array(
    'url'=>'...value..' 
) 
) 
+0

我可以向变量添加前缀吗?我的意思是仍然在项目中使用'config('app.url')',但是当我添加前缀时我使用'config(prefix.app.url)'..你认为这样可以解决问题吗? – amirali

+0

更新了我的答案 – Gntem