我在httpd.conf(Apache)中定义了setEnv = prod
并在php中调用ENV(使用getenv()函数)
从终端(mac)php file.php运行时,env为NULL
但是当我从网页上运行它时它的工作;并打印“prod”
答案 0 :(得分:0)
有几种方法可以设置您在macOS和Linux中的控制台(终端)中运行的程序的环境。 (这些过程在Windows上类似,但语法不同。)
您可以将env=prod
放在命令行前面,仅为当前执行该命令行设置值env
的环境变量prod
:
$ env=prod php -f script.php
您可以将export env=prod
用作单独的命令行。它为您在控制台中运行的shell的当前执行设置环境值env
,其值为prod
。前面的export
关键字告诉shell将变量传递给它从现在开始启动的所有进程(直到你关闭shell或取消设置变量):
$ export env=prod
$ php -f script.php
如果您想永久设置变量,那么您可以将行export env=prod
放在~/.profile
或~/.bashrc
或首选shell的初始化脚本中(如果它不是bash
)。您启动的shell的所有后续实例都会执行初始化脚本,并在其环境中设置值为env
的{{1}}变量,并将其标记为可导出到shell启动的子进程。