php-环境变量在Phalcon Config中不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-环境变量在Phalcon Config中不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1914字,纯文字阅读大概需要3分钟。
内容图文
![php-环境变量在Phalcon Config中不起作用](/upload/InfoBanner/zyjiaocheng/682/53916c46a5364935a05bc92ff4420958.jpg)
我有一个添加了该库的Phalcon项目:https://github.com/vlucas/phpdotenv.该库用于从.env文件中加载一些环境变量.我创建了这样的文件并将其放入我的项目中.
VERSION_NUMBER=3.14
DATABASE_HOST=localhost
DATABASE_NAME=test
DATABASE_USER=root
DATABASE_PASS=root
我将loader.php文件重写为以下代码:
<?php
$loader = new \Phalcon\Loader();
/**
* We're a registering a set of directories taken from the configuration file
*/
$loader->registerNamespaces(array(
'Test\Models' => $config->application->modelsDir,
'Test\Controllers' => $config->application->controllersDir,
'Test\Forms' => $config->application->formsDir,
'Test\Classes' => $config->application->classesDir,
'Test\Classes\Excel' => $config->application->excelDir,
'Test' => $config->application->libraryDir
));
$loader->register();
// Use composer autoloader to load vendor classes
require_once __DIR__ . '/../../vendor/autoload.php';
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->required(['DATABASE_HOST', 'DATABASE_NAME', 'DATABASE_USER', 'DATABASE_PASS']);
$dotenv->overload();
在我的配置文件中,我用环境变量替换了键:
'database' => array(
'adapter' => 'Mysql',
'host' => getenv('DATABASE_HOST'),
'username' => getenv('DATABASE_USER'),
'password' => getenv('DATABASE_PASS'),
'dbname' => getenv('DATABASE_NAME')
),
我可以在需要的地方回显getenv(‘VERSION_NUMBER’),并且每次都可以使用,但是当我尝试使用此配置文件时,变量为空.我究竟做错了什么?
解决方法:
从您提供的源代码摘录来看,没有理由不起作用.我只能做一些假设,但是由于我目前正在开发一个也使用Dotenv的项目,所以我想指出两种可能性.
首先,我不确定为什么要使用重载()方法.这样在您的public / index.php中加载Dotenv就足够了:
define('APP_PATH', realpath('..'));
include APP_PATH . '/vendor/autoload.php';
$dotenv = new Dotenv\Dotenv(APP_PATH);
$dotenv->load();
这将我带到您的问题的第二个最可能的原因:
您正在loader.php文件中加载Dotenv.在大多数Phalcon示例项目中,该配置是在配置后加载的,因此此时尚未设置Env变量.包括我在index.php中提到的代码,您应该会很好.
内容总结
以上是互联网集市为您收集整理的php-环境变量在Phalcon Config中不起作用全部内容,希望文章能够帮你解决php-环境变量在Phalcon Config中不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。