我有一个项目必须通过这两个网址us_myproject.com
和es_myproject.com
访问。Laravel 5 - 如何为同一个laravel项目设置多个数据库凭证(如果可能的话)?
他们共享相同的文件夹和代码。实际上,只有一个laravel项目:htdocs/myproject
。
根据URL信息必须来自us_db
或es_db
,基于所使用的URL。
所以我的问题是如何设置.env
数据库凭据指向这两个不同的数据库。我有2个不同的数据库,2个不同的用户和2个不同的密码。我怎样才能完成这项任务?
我有这样的跟踪代码的工作原理:
URL: us_myproject.com/dbtest
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=us_db
DB_USERNAME=root
DB_PASSWORD=''
Route::get('dbtest',function(){//Works good
$tblusertypes=DB::table("tblusertypes")->get();
return $tblusertypes;
});
如果我做URL: es_myproject.com/dbtest
应查询对es_db
但我不知道如何设置。任何想法?
嗨,我看到你做了什么。因此,您的想法是根据HTTP_HOST更改阵列内容 - 凭证。这是一个很好的选择。但它提出了一个问题。这个改变将在SESSION结束之前可用,我的意思是让用户可以访问主页,Session将被设置为一个特定的环境,在这种情况下,西班牙(es),然后他会去到另一页,并尝试插入一些sturff。环境已经坐了? – zwitterion
我认为这与SESSION没有任何关系。这只是您用于特定主机的数据库的问题。当他们随时切换到另一台主机时,凭证将被切换。 – Naveed