在将我的项目上传到Github之前,我想使用一个环境变量隐藏我的API密钥。
我在.env文件中添加了这行代码
API_KEY=MY_API_KEY
字符串
但是当我在PHP文件中调用API_KEY时,
$apiKey=getenv('API_KEY');
print_r($apiKey);
型
什么都没显示。我的网站崩溃是因为代码没有获得API密钥。
我试着在httpd.conf
文件的底部使用SetEnv。
SetEnv API_KEY=MY_API_KEY
型
但还是不行。print_r()
不打印任何内容。什么都没有。我做错了什么?.env
文件是否应与PHP文件位于同一位置?我使用的是Windows,Xampp Apache是我的Web服务器。
3条答案
按热度按时间li9yvcax1#
正如IMSoP在评论中提到的,我必须做一些事情来强制PHP读取我的.env文件,我通过安装phpdotenv解决了这个问题。https://github.com/vlucas/phpdotenv这个软件包可以读取.env文件。
字符串
e4eetjau2#
我尝试在httpd.conf文件的底部使用SetEnv。
字符串
这个方法本来应该可以工作的,只是你用错了语法。键/值对之间不应该有
=
。参数应以 * 空格 * 分隔。上面的代码设置了一个名为API_KEY=MY_API_KEY
的环境变量(而不是API_KEY
),并分配了一个空字符串!它应该是:
型
修改
httpd.conf
后,需要重新启动Apache。或者,将指令添加到文档根目录中的
.htaccess
文件中。(或相关子目录。)参考号:
w8rqjzmb3#
我遇到了同样的问题,直到我发现我没有自动加载库。对于那些使用CodeIgniter 2/3的用户,你必须在根目录index.php下添加以下代码:
字符串
您需要获取https://github.com/agungjk/phpdotenv-for-codeigniter/tree/master/system/dotenv上的文件,并将dotenv文件夹放置在指定路径的任何位置。在本例中,它将位于/system/dotenv/中。