由于在本地建了两个laravel项目,test.me 和 api-test.me,当我在 test.me 中调用 curl 去请求 api-test.me 的方法,试图获取数据时,

接口一直返回没有找到对应的表,经过排查,发现 api-test.me 连接的数据库并不是 .env 中配置的。

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

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

 

解决方案:

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

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

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

 

posted on 2019-07-20 17:03  怀素真  阅读(1551)  评论(0编辑  收藏  举报