laravel数据库连接错乱原因和解决方法

由于建了两个laravel项目,test1 和 test2,当我在 test1 访问数据库时候访问到了test2的数据库,

经过排查,发现 test1 连接的数据库并不是 .env 中配置的。

然后各种百度,google,才发现 laravel 中通过 getenv() 和 putenv() 这两个函数来获取配置参数,但这两个函数是非线程安全的。

但自已安装的PHP7.3版本又是线程安全模式,所以就出问题了。

解决方案:

1、更改PHP版本为非线程安全( nts )版本。

2、在config/database.php中写死数据库连接配置,不用 env()。

3、如果使用 apache,可以将工作模式设置为 prefork 模式。

你可能感兴趣的:(laravel,PHP)