【问题标题】:How can i add .env to codeigniter?如何将 .env 添加到 codeigniter?
【发布时间】:2017-08-24 04:23:45
【问题描述】:

我尝试按照https://docs.microsoft.com/en-us/outlook/rest/php-tutorial 让 php 连接到 Outlook 但对于环境,我不知道把它放在哪里或创建新文件。 请帮忙解释一下?

OAUTH_APP_ID=YOUR_APP_ID_HERE
OAUTH_APP_PASSWORD=YOUR_APP_PASSWORD_HERE
OAUTH_REDIRECT_URI=http://localhost:8000/authorize
OAUTH_SCOPES='openid profile offline_access User.Read Mail.Read'
OAUTH_AUTHORITY=https://login.microsoftonline.com/common
OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token

【问题讨论】:

  • 该教程使用的是 Laravel,因此您需要翻译代码以适应 Codeigniter。不要使用 .env,而是将设置放在配置文件中,然后修改代码以正确方式获取配置。

标签: php codeigniter outlook


【解决方案1】:

这是一个展示如何在 CodeIgniter 应用程序中实现类似 Laravel 的 .env 文件结构,并使所有开发、生产、测试​​阶段的配置变得容易。每次执行git pull 或将其放入.gitignore 时,您都不需要处理application/config/database.php 文件。

步骤

  1. 首先通过composer添加一个包vlucas/phpdotenv

在您的项目根目录中运行composer require vlucas/phpdotenv 命令。 (如果你没有 composer.json,别担心,composer 会处理的。

  1. 将文件Env.php 复制到您的application/libraries 目录。

这将在环境中加载您的 env 文件。

  1. general_helper.php 复制到您的application/helpers 目录。

这将添加env 辅助方法来获取存储在.env 文件中的任何变量。

  1. 自动加载库

像这样将库添加到$autoload['libraries']

$autoload['libraries'] = array('env');
  1. 自动加载助手

像这样为$autoload['helper']添加助手

$autoload['helper'] = array('general');
  1. 创建一个.env 文件 在您的项目根文件夹中创建一个.env 文件。

  2. 访问环境变量

在您的 php 代码中,您可以访问任何 .env 变量,如下所示

env('MY_VARIABLE');

来源:https://github.com/technoknol/env-in-CodeIgniter

【讨论】:

  • 我想知道如何在config['base_url']中使用env值?
  • 按照所有步骤,仍然无法在 config/database.php 文件中获取环境变量。
【解决方案2】:

我建议您创建一个名为 .env 的新文件,并将其放在您的 Web 根目录下。 然后,安装包 vlucas/phpdotenv 使用 composer 。 这个包可以自动将环境变量从 .env 加载到 getenv()、$_ENV 和 $_SERVER。 Laravel 框架通过它来区分环境。

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多