我已经创建了简单的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获取它。但是我总是空白。
我的脚本中还有其他需要添加或修改的内容吗? 还是需要进行任何配置更改。
答案 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文件。请注意,环境变量应用于软件配置,而不是作为存储模式。