Php 配置变量之间的冲突
我的服务器中有五个即时的laravel,使用不同的nginx配置工作正常Php 配置变量之间的冲突,php,laravel,redis,laravel-5.2,queue,Php,Laravel,Redis,Laravel 5.2,Queue,我的服务器中有五个即时的laravel,使用不同的nginx配置工作正常 我还使用redis队列发送消息,在生产环境中,我使用php artisanconfig:cache缓存了env变量,并使用config('app.url')而不是env(app.url) 但当我想从project1发送带有队列的消息时,在消息中会显示来自Project4的一些变量,并且当我运行php artisan config:clear时效果良好 但我不想直接使用.env变量,我想在带有缓存配置的生产环境中使用变量 我
我还使用redis队列发送消息,在生产环境中,我使用php artisan
config:cache
缓存了env变量,并使用config('app.url')
而不是env(app.url)
但当我想从project1发送带有队列的消息时,在消息中会显示来自Project4的一些变量,并且当我运行
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
如何修复它?是的,您必须更改,您可以使用一个Laravel应用程序托管多个域,但是
.env
将为每个应用程序提供一个,这就是为什么您会获得相同的值
您可以尝试使用各自的配置为每个项目创建多个Laravel应用程序.env
或
使用一个处理多个域的Laravel应用程序,并在一个.env
中为每个项目使用不同的变量名
解决此问题的另一种方法是在config目录下创建一个自定义配置文件,并将所需的内容放在其中,然后使用config
helper
-更新
使用env
和使用config
时要小心env()
将首先查看.env
,config将查看config目录
例如,env('PREFIX\u APP\u URL')
将查看PREFIX\u APP\u URL的.env
而config('prefix.app.url')
将在配置目录文件中查找数组的嵌套数组prefix
文件
return array(
'app'=>array(
'url'=>'...value..'
)
)
是的,您必须更改,您可以使用一个Laravel应用程序托管多个域,但是.env
将为每个应用程序提供一个域,这就是为什么您会获得相同的值
您可以尝试使用各自的配置为每个项目创建多个Laravel应用程序.env
或
使用一个处理多个域的Laravel应用程序,并在一个.env
中为每个项目使用不同的变量名
解决此问题的另一种方法是在config目录下创建一个自定义配置文件,并将所需的内容放在其中,然后使用config
helper
-更新
使用env
和使用config
时要小心env()
将首先查看.env
,config将查看config目录
例如,env('PREFIX\u APP\u URL')
将查看PREFIX\u APP\u URL的.env
而config('prefix.app.url')
将在配置目录文件中查找数组的嵌套数组prefix
文件
return array(
'app'=>array(
'url'=>'...value..'
)
)
如果在部署期间使用config:cache命令,则必须确保仅从配置文件中调用env函数,而不是从应用程序中的任何其他位置调用
如果您是从应用程序中调用env,强烈建议您向配置文件中添加适当的配置值,并从该位置调用env,从而将env调用转换为config调用
通读全文
如果在部署期间使用config:cache命令,则必须确保仅从配置文件中调用env函数,而不是从应用程序中的任何其他位置调用
如果您是从应用程序中调用env,强烈建议您向配置文件中添加适当的配置值,并从该位置调用env,从而将env调用转换为config调用
阅读整个线程你能发布.env
文件吗?您可以为变量使用不同的名称,PROJECT1\u URL
等。如果不更改变量,就没有办法了?次要修复是production
而不是production
我可以为变量添加前缀吗?我的意思是在项目中仍然使用config('app.url')
,但当我添加前缀时,我使用config(prefix.app.url)
。。你认为这能解决问题吗؟你能发布.env
文件吗?您可以为变量使用不同的名称,PROJECT1\u URL
等。如果不更改变量,就没有办法了?次要修复是production
而不是production
我可以为变量添加前缀吗?我的意思是在项目中仍然使用config('app.url')
,但当我添加前缀时,我使用config(prefix.app.url)
。。你认为这能解决问题吗?我能给变量添加前缀吗?我的意思是在项目中仍然使用config('app.url')
,但当我添加前缀时,我使用config(prefix.app.url)
。。你认为这能解决问题吗?我能给变量添加前缀吗?我的意思是在项目中仍然使用config('app.url')
,但当我添加前缀时,我使用config(prefix.app.url)
。。你认为这能解决问题吗