多个laravel项目数据库连接错乱原因和解决方法

部署多个Laravel项目时,因PHP版本线程安全模式导致数据库连接混乱。解决方案包括更改PHP为非线程安全版本、写死数据库配置及调整Apache工作模式。

多个laravel项目数据库连接错乱原因和解决方法

问题描述:

我在服务器部署了两个laravel项目,项目A 和 项目B,当我访问项目B的URL时,有时返回的却是项目A 数据库的数据。

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

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

解决方案:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值