如何使用PHP永久更新PATH变量


How to update PATH Variable permanently Using PHP

你好,我想通过PHP脚本永久更新Path环境变量。我知道putenv(),但它不是永久的。我读了一些地方生成.reg文件与以下内容。

 Windows Registry Editor Version 5.00
 [HKEY_LOCAL_MACHINE'SYSTEM'CurrentControlSet'Control'Session Manager'Environment]
                    'PATH'='c:/abc/test/ImageMagick-6.7.8-Q8/convert.exe'

我已经生成了包含内容的文件。

当我运行这个文件时,它告诉我文件已经成功运行,并且包含在文件中的键值已成功添加到注册表中。但是当我去路径变量检查时,我的值不在那里:-(有人能告诉我为什么会这样吗?我用的是window 7。但我的工作也必须与windows xp兼容。还是有其他方法来完成这个任务?

需要建议…

注册表中的PATH环境变量在创建进程时被复制到进程的环境中。

cmd.exe(命令窗口或shell)是一个独立的进程。您必须在shell中执行SET PATH=来更改它。

如果你打开一个新的命令窗口,你应该有新的PATH设置。另请参见以编程方式将目录添加到Windows PATH环境变量

你好,我已经解决了这个问题。我通过创建.bat文件解决了这个问题。.bat文件的内容看起来像

 @echo off
 set KeyName=Path
 set KeyValue="D:'songs;%PATH%"
 setx -m %KeyName% %KeyValue%
如果您想设置为system level for all users,则使用

-m。如果您希望它仅为当前用户设置,则删除-m。上面的命令将在环境Path变量中设置D:'songs。要运行此命令,您需要是系统的管理员。

如果这对任何一个有用的话,干杯:-)