laravel項目本地數據庫鏈接錯亂緣由和解決方法

因爲在本地建了兩個laravel項目,test.me 和 api-test.me,當我在 test.me 中調用 curl 去請求 api-test.me 的方法,試圖獲取數據時,php

接口一直返回沒有找到對應的表,通過排查,發現 api-test.me 鏈接的數據庫並非 .env 中配置的。laravel

而後各類百度,google,才發現 laravel 中經過 getenv() 和 putenv() 這兩個函數來獲取配置參數,但這兩個函數是非線程安全的。數據庫

但自已安裝的PHP7.2版本又是線程安全模式,因此就出問題了。apache

 

解決方案:api

一、更改PHP版本爲非線程安全( nts )版本。安全

二、在config/database.php中寫死數據庫鏈接配置,不用 env()。curl

三、若是使用 apache,能夠將工做模式設置爲 prefork 模式。函數

相關文章
相關標籤/搜索