由于在本地建了两个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 模式。
版权声明:博主文章,可以不经博主允许随意转载,随意修改,知识是用来传播的。