如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

php里面有一组函数,叫做putenv()getenv()。那么通过getenv()可以获得环境变量,而设置环境变量的途径,可就不仅仅局限于putenv()了。而且如何理解php的环境变量这个说法呢?是不是感觉也挺陌生的?如果是java或者node的话,这个环境变量的说法,就似乎能解释通了。

如果大家认真阅读了苏南大叔的上一篇文章的话,知道可以通过单独的php命令来启动www服务。那么就可以知道,这个时候的phpnode的用法是很相似的。这个时候,就可以通过命令行传递个环境变量参数了。

php获取环境变量值

获取变量值的方法,似乎只有一种。就是下面的这个函数。

echo getenv("<变量名>");

例如:

echo getenv("var1");

那么如何设置这个环境变量值呢?这里,苏南大叔给出了下面两个方案。

方案一:linux或者mac系统通过export设置环境变量

export var1=val1; php -S <域名>:<端口>

这个export命令,只存在于linux或者mac系统中,win系统是没有这个export命令的。

如何理解使用php函数putenv和getenv - export_mac

如何理解使用php函数putenv和getenv(图7-1)

下面是值得注意的两点:

  • php字样前面,在export语句后面,两者之间有个英文分号;,当然您还可以用&&来替换它。在win下面,如果出现类似语句的话,建议使用&&
  • export是在整个命令行窗口运行期间生效的,命令行窗口中一旦设置了某个值,只要这个窗口还存着,这个值就一直是生效的,并不会因为php的www被ctrl+c了而消失。

方案二:mac(linux)环境,徒手直接设置环境变量

newsn.net:这里是【评论】可见内容

这个方案简单暴力,不拖泥带水。不带有任何的多余字符,自己看图。

如何理解使用php函数putenv和getenv - mac_env

如何理解使用php函数putenv和getenv(图7-2)

方案三:win环境,cmd使用set设置环境变量

export在win下面不生效,苏南大叔改用了set来做类似设置。

如何理解使用php函数putenv和getenv - export-win

如何理解使用php函数putenv和getenv(图7-3)

set var1=val1 && php -S <域名>:<端口> -t <root_path>

如何理解使用php函数putenv和getenv - win_set

如何理解使用php函数putenv和getenv(图7-4)

方案四:win环境,powershell使用$env:设置环境变量

这里需要注意的是:

  • powershell的相关命令里面是两句话,不能用&&进行连接。
  • cmd里面的set&&,对于powershell都是失效的。
  • 变量的值必须用引号引起来,使用中文的引号也是可行的(震惊吧?试试看?)。
$env:var1="aaa"
php -S localhost:9001 -t ./

如何理解使用php函数putenv和getenv - powershell_env

如何理解使用php函数putenv和getenv(图7-5)

方案五:通用方案,通过putenv()设置环境变量

下面的语句中,苏南大叔通过putenv(),设置了一个环境变量var1,它的值是val1。然后我们就可以通过getenv("var1")来获得这个环境变量值val1了。本方法不分win还是mac,通用。

but,因为这个putenv要写在php代码中,而不是命令行里面,苏南大叔在这里就有些迷糊了,这么写有什么好处?和普通的变量赋值,感觉上是一样一样的嘛。聪明的读者,您说是嘛?

putenv("var1=val1");

下面这个截图,是苏南大叔写的一个实际的应用例子。

如何理解使用php函数putenv和getenv - putenv

如何理解使用php函数putenv和getenv(图7-6)

方案六:使用流行框架里面的.env文件

这个.env文件,也可以设置类似环境变量。不过并不是php原生支持的功能,都是由第三方包或框架提供的功能。这里不做过多描述,大家知道有这个事情即可。比如,目前较流行的thinkphp5或者laravel等框架里面,都有类似的.env功能。

查看所有的环境变量

打印一下$_ENV即可得到所有的环境变量,会有惊喜哦。

如何理解使用php函数putenv和getenv - env_all

如何理解使用php函数putenv和getenv(图7-7)

相关链接

结论

这个export设置环境变量的办法,是官方推荐的方法。当然了,这种应用场景,确实太罕见了。一般人也不会这么使用,所以,大家了解一下就ok了。您说对吧?

更多php相关经验文章,请点击这里查看。

  【php】秘籍文章入口,仅传授于有缘之人  php    env

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。