[英]getenv return null from terminal while running php script
我在httpd.conf(Apache)setEnv = prod中定义
并在php中调用ENV(使用getenv()函数)
从terminal(mac)php file.php运行时,env为NULL
但是当我从网页上运行它时,它的工作正常了; 并打印“产品”
有多种方法可以设置在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
或您首选外壳程序的初始化脚本中(如果不是bash
)。 您启动的Shell的所有后续实例都将执行初始化脚本,并在其环境中使用值prod
设置env
变量,并将其标记为可导出到Shell启动的子进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.