有时候本地项目和线上项目需要不同的配置文件,这样就用到了.env文件。

1.首先在你的项目根文件夹下创建.env文件

并写入内容

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD='123456'
DB_PORT=3306
DB_CHARSET=utf8
DB_PREFIX=tb_

2.使用composer安装vlucas/phpdotenv扩展

composer require vlucas/phpdotenv

3.在项目中的数据库配置文件的地方使用此扩展

当然首先你要在index.php或者其他地方引入composer

<?php
//加载环境变量,__DIR__ 可以理解为.env所在的文件夹目录
$dotenv = \Dotenv\Dotenv::create(__DIR__);
$dotenv->load();

$config = [
    // 数据库类型
    'type' => getenv('DB_CONNECTION'),
    // 服务器地址
    'hostname' => getenv('DB_HOST'),
    // 数据库名
    'database' => getenv('DB_DATABASE'),
    // 用户名
    'username' => getenv('DB_USERNAME'),
    // 密码
    'password' => getenv('DB_PASSWORD'),
    // 端口
    'hostport' => getenv('DB_PORT'),
    // 数据库编码默认采用utf8
    'charset' => getenv('DB_CHARSET'),
    // 数据库表前缀
    'prefix' => getenv('DB_PREFIX'),
];
return $config;

4.将.env假如svn或者git的忽略文件,在不同的项目创建不同的.env文件。

解决 laravel-admin between datetime 假如数据库是时间戳int类型无法筛选。

laravel-admin默认的between->datetime(),查询默认是datetime类型,但是假如数据库是时间戳类型就会报错,又不想改底层文件的话可以试试加自定义筛选功能...

阅读全文

php解析英文语句,自动分解。

参考:https://www.php.net/manual/en/function.str-split.php 最近碰到一个问题,客户的英文地址太长,超出接口api字段长度,所以需要解析下语句分解发送。 ...

阅读全文

记录一个laravel-excel导出表格值为0导出excel显示空的解决方法。

最近在使用laravel-excel导出表格的时候,发现假如字段值为0的情况下,导出的excel中直接显示为空,找到一个方法解决,如下. 在laravel-excel的config配置中...

阅读全文

欢迎留言