使用PHP设置和获取全局环境变量

时间:2019-10-18 07:19:37

标签: php ubuntu ubuntu-18.04

我已经创建了简单的PHP脚本来设置和获取环境变量。

set.php

putenv("TEST_VAR=HelloWorld");

get.php

echo getenv('TEST_VAR');

但是执行get.php后我没有得到任何输出

我正在使用Ubuntu 18.04。 我还尝试使用shell脚本设置env变量。

test.sh

export TEST_VAR=HelloWorld

并尝试使用get.php获取它。但是我总是空白。

我的脚本中还有其他需要添加或修改的内容吗? 还是需要进行任何配置更改。

1 个答案:

答案 0 :(得分:0)

setenv()和getenv()仅在同一脚本内工作,当您要从一个特定脚本的环境变量中区分出来时,它们很有用。

要在两次请求之间存储信息,则需要某种形式的存储。哪一个取决于您的用例。

缓存/内存中存储

如果要临时存储信息,则需要快速进行检索,并且如果数据丢失也没有问题,可以使用内存中的存储。

您有多种可能,例如Redis和Memcached。我不建议APCu,因为它不再积极开发。

持久存储

您可以将数据存储到磁盘。这要比内存中的存储速度慢,但是丢失数据的可能性要小得多。

您可以使用文件存储空间:

set.php

<?php

file_put_contents('data/my.dat', 'My data');

get.php

<?php

echo file_get_contents('data/my.dat');

或者您可以使用数据库。

会话存储

您通常希望存储特定于一个用户的数据。其他用户看到不同的数据。您可以使用php会话来实现。

使用PHP会话的示例: https://www.php.net/manual/en/function.session-start.php

环境变量

如果您坚持使用环境变量,并且想在运行时进行更改,则可以使用phpdotenv并写入.env文件。请注意,环境变量应用于软件配置,而不是作为存储模式。