有没有办法通过PHP CLI访问Apache2的SetEnv变量?



我需要运行一个php脚本来刷新数据每10分钟,我正在使用cron。

crontab -e configuration is:

*/10 * * * * php my_file.php

在这个文件中,我使用$_SERVER['my_env_var']来检索变量的值,这是一个加密的字符串(它在apache2.conf中设置为SetEnv MY_ENCRYPTED_VALUE什么的)。在web浏览器中使用调试将正确输出值(它正在与apache一起运行,因此它可以读取文件)并识别我正在调用服务器上设置的变量)。

但是,cron正在使用CLI。当使用

<?php
print_r($_SERVER);
?>

我的变量没有列在这里。

我知道他们不共享相同的.ini文件和SAPIs (apache2handler vs cli)。

我看到其他帖子说:

设置为/etc/environment变量

但如果可能的话,我宁愿不使用它(它安全吗?)

但是,有没有办法通过PHP CLI访问Apache2的SetEnv变量?

正如@CBroe所说,cli模式下的cli与PHP没有关系。您仍然需要一些通用的环境变量,您可以从CI - CD管道中获得帮助。它会把这些东西安全地放在一个地方。

我们说的几乎是同一件事,我说的是环境应该由管道编写到目标系统,而不是由个别团队手动维护。

CI CD管道为我们提供了一种使用环境变量的方法,安全性是使用它的一个很好的选择。

最新更新