在项目开发中,有时候我们会遇到本地环境与线上环境的数据库配置不一样的情况,那我们怎么利用thinkphp5实现自动加载正确的数据库配置呢?其实只要判断当前的url是127.0.0.1还是正式域名就行了,所以这个不适合本地创建了虚拟主机的情况,
1.首先,找到框架系统目录下面的thinkphp/library/think/app.php然后大概在地485行左右,
原代码
2.这是框架加载数据库文件的代码,我们把它改成如下的:
需改代码
3.然后最后一步,我们在application目录下面创建一个loaction_database.php文件,里面配置本地的开发环境就好了,在原本的database.php文件里面配置正式的开发环境,这样我们的项目放到线上和代码拉到本地修改就不用来修改数据库配置了,很方便.
4人点赞
作者:蔡先森_a1e2
链接:https://www.jianshu.com/p/a1bd7e6d6b1e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我的评论:行数有点不一样。不过不影响。
其实更简单的是配置database.php为gitignore就可以了。
然后这代码其实不会上传,因为.gitnore默认设置。
还有就是yii全部考虑到了。实在太方便了。可惜国内流行Tp.
但是貌似$_SERVER['SERVER_NAME']是指向域名,$_SERVER['SERVER_ADDR']才对。
但是服务器上是怎么样我就不知道了。
但是反正是不会上传的。
还有就是要注意:http:域名/index.php/admin/index.不能够是index.php?admin/index.
我也没记得很清楚这些。url美化暂时不考虑。