[英]What is the difference between creating Global Variables and Config Variables in Codeigniter?
[英]Conflict between config variables
我在我的服务器中有五个即时的laravel与不同的nginx配置工作正常
我还使用redis队列发送消息,并在生产中使用php artisan config:cache
缓存env变量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
我该如何解决?
是的,您必须更改,您可以使用一个Laravel应用程序托管多个域,但.env
将是每个应用程序一个,这就是为什么您获得相同的值。
您可以尝试使用自己的配置为每个项目创建多个Laravel应用程序.env
要么
使用一个Laravel应用程序处理多个域,并在一个.env
为每个项目使用不同的变量名称。
另一种解决方法是在config目录下创建一个自定义配置文件,并在那里放置你想要的任何内容并使用config
helper。
-update
当你使用env
和使用config
时要小心.env
env()
会首先查看.env
,config会查看config目录。
恩。 env('PREFIX_APP_URL')
将查看.env
的PREFIX_APP_URL
而config('prefix.app.url')
将查看配置目录文件中的数组prefix
文件的嵌套数组
return array(
'app'=>array(
'url'=>'...value..'
)
)
php artisan config:clear
php artisan cache:clear
php artisan config:cache
如果在部署期间使用config:cache命令,则必须确保仅从配置文件中调用env函数,而不是从应用程序中的任何其他位置调用。
如果从应用程序中调用env,强烈建议您在配置文件中添加正确的配置值,并从该位置调用env,允许您将env调用转换为config调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.