有时候本地项目和线上项目需要不同的配置文件,这样就用到了.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文件。

阿里云邮件推送类封装

发送方法 <?php $mail = new \App\Common\Lib\Mail\AliMail(); list($res, $error) = $mail->setSubject(...

阅读全文

php 向函数传引用

当你要传递的值特别大时,使用传引用的方式 会减小内存的开销。或者当你需要改变传递参数的原值时,也可以使用此方式。 <?php /** * 测试 */ class Tes...

阅读全文

升级php7.2后,加密函数mcrypt_module_open()被废弃的解决方案。

方案1 直接输入 pecl install mcrypt-snapshot 此方案的好处是不用改代码 方案2 <?php class Encrypt{ //base64_encode(openssl_random_pseudo_bytes...

阅读全文

欢迎留言