我知道我可以通过 Nginx 向 $_SERVER 变量添加自定义值
fastcgi_param MY_VARIABLE "myValue";
是否可以将相同的变量添加到 PHP CLI $_SERVER?这将专门用于 cron 作业。我正在使用 Ubuntu 服务器。
我发现的一个选项是调用 PHP 脚本
$ MY_VARIABLE="myValue" php /path/to/php/script
但这似乎不太理想。
默认情况下,环境变量不会发送到 PHP,据我所知,这样做会稍微降低速度。如果可能的话,我想避免这种情况。
答案1
我发现的最佳解决方案是将变量放入 /etc/environment。其中的设置由 cron 作业和 CLI 加载并显示在 PHP $_SERVER 中。
默认情况下,/etc/environment 中有一行用于 PATH。只需在文件末尾添加一个新行即可。
PATH="/usr/local/sbin: ... "
MY_VARIABLE="myValue"
顺便说一句,PATH 设置是这个文件似乎被 PHP 覆盖,如 $_SERVER 所示。
PHP Web 服务没有显示该变量,但将其添加到 Nginx 配置中很容易。