setx环境变量为啥在用户变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setx环境变量为啥在用户变量相关的知识,希望对你有一定的参考价值。
设置用户环境变量setx NAME "sam"
设置系统环境变量
setx NAME "sam" /m
值得注意:
(1)在某些情况下会出现“setx无效语法 默认选项不能超过‘2’次”的错误,是因为原先的环境变量中存在空格导致的,可使用双引号进行避免。
(2)setx在设置变量的长度超过1024,会截取多出的字符。
(3)setx设置环境变量后,将在新打开的终端中生效,当前终端不会立即生效。
(4)setx在设置某一变量的值,如果已经存在该变量会覆盖之前的值。所以正确方式是:要保存值=获取当前该变量的值+新值。 参考技术A setx环境变量为什么在用户变量里
setx是一个环境变量管理工具,它可以设置系统环境变量和用户环境变量。用户环境变量只对当前用户有效,而系统环境变量对所有用户有效。所以一般在用户变量里设置环境变量,以便只对当前用户有效。 参考技术B setx环境变量可以让用户在任何地方访问系统环境变量,因此它被存储在用户变量中,以便用户可以在任何时候访问它们。
在IIS下,为啥安装php要在环境变量中加入php路径,有啥作用,为啥我没有加入也可以使用?
一、加入“环境变量”主要还是为了尽量找到所需文件。从这个意义来说,环境变量范围越广越好,最好包括全盘,但这样一来命中率肯定下降!
所以又希望搜索范围越小越好(只要能找到文件就够了)。
二、“php路径”可以不加入“环境变量”,我就这样做的。
当系统调用命令时优先搜索“当前目录”,如果当前目录也没有就会按照环境变量里的设置进行搜索,如果还是找不到,就会显示“既不是内部命令也不是外部命令”。
通过观察<?php echo phpinfo(); ?>的输出,以及经验,初步得出,为了正确调用,只需满足其中之一:
1、要么把php.ini拷贝一份放到%windir%里(在php.ini文件设置正确);
2、或者把php路径加入“环境变量”。
-----本人的php安装目录是D:\php5---
如本人做了一个批处理“copy.CMD”,放在D:\php5里,内容如下:
rem 重要:有时候D:\php5下面的php.ini改了,但%windir%下面的php.ini并没有改!最好统一
rem 也可以不拷贝,直接把D:\php5;d:\php5\ext添加到“环境变量”“path”里
copy php.ini %windir%
pause 参考技术A PHP的特点之一就是可以用简单的方式处理表单数据,获取环境变量。在PHP中,这些外部数据或变量保存在一种特殊的全局变量数组中。
$_ENV
$_SERVER
包含了Web服务器的一些配置信息,以及浏览器的一些状态信息,使用函数phpinfo()可以返回更多的环境信息,其中包含了$_ENV和$_SERVER的内容。
所以:
你可以这样验证,在DOS命令下,用path命令查看是否包含有php路径,
如果包括则说明不用你手动加入,安装时也会自动帮你加入.
其实,能否用PHP取决于php.ini配置文件,里面会有php程序的路径
另外,在示例php程序中使用函数phpinfo()查看是否返回正确的环境信息.
以上是关于setx环境变量为啥在用户变量的主要内容,如果未能解决你的问题,请参考以下文章