衝突

2017-04-26 146 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