.env配置問題
[database]
username = root
password = 123456
這種方式配置為什么不生效
database_username = root
database_password = 123456
這樣配置才能生效
[database]
username = root
password = 123456
這種方式配置為什么不生效
database_username = root
database_password = 123456
這樣配置才能生效
2019-01-22
舉報
2021-03-11
base.php文件,找不到以下代碼
在putenv("$item=$v");
是:
require __DIR__ . '/library/think/Loader.php';
// 注冊自動加載
Loader::register();
// 注冊錯誤和異常處理機制
Error::register();
// 實現日志接口
if (interface_exists('Psr\Log\LoggerInterface')) {
? ? interface LoggerInterface extends \Psr\Log\LoggerInterface
? ? {}
} else {
? ? interface LoggerInterface
? ? {}
}
// 注冊類庫別名
Loader::addClassAlias([
? ? 'App'? ? ? => facade\App::class,
? ? 'Build'? ? => facade\Build::class,
? ? 'Cache'? ? => facade\Cache::class,
? ? 'Config'? ?=> facade\Config::class,
? ? 'Cookie'? ?=> facade\Cookie::class,
? ? 'Db'? ? ? ?=> Db::class,
? ? 'Debug'? ? => facade\Debug::class,
? ? 'Env'? ? ? => facade\Env::class,
? ? 'Facade'? ?=> Facade::class,
? ? 'Hook'? ? ?=> facade\Hook::class,
? ? 'Lang'? ? ?=> facade\Lang::class,
? ? 'Log'? ? ? => facade\Log::class,
? ? 'Request'? => facade\Request::class,
? ? 'Response' => facade\Response::class,
? ? 'Route'? ? => facade\Route::class,
? ? 'Session'? => facade\Session::class,
? ? 'Url'? ? ? => facade\Url::class,
? ? 'Validate' => facade\Validate::class,
? ? 'View'? ? ?=> facade\View::class,
]);
2019-02-07
if (is_file(ROOT_PATH . '.env')) {
??? $env = parse_ini_file(ROOT_PATH . '.env', true);
??? foreach ($env as $key => $val) {
??????? $name = ENV_PREFIX . strtoupper($key);
??????? if (is_array($val)) {
??????????? foreach ($val as $k => $v) {
??????????????? $item = $name . '_' . strtoupper($k);
??????????????? putenv("$item=$v");
??????????? }
??????? } else {
??????????? putenv("$name=$val");
??????????? //寫入環(huán)境變量,才能在打印$_ENV文件的時候顯示出來配置的環(huán)境變量
??????????? $_ENV[$name]=$val;
??????? }
??? }
}
找到thinkphp目錄下的base.php文件,找到以上代碼
在putenv("$item=$v");
后面加一句
$_ENV[$item]=$v;
這樣將配置文件中的數組賦值給$_ENV數組即可