如何确定在Windows上php.exe的path – search默认path?

我目前正在为OS X上的Sublime Text 2开发几个插件,我想让它们跨平台,这意味着我必须找出是否和在哪里安装php.exe

现在我在Python中调用/usr/bin/php ,这显然只适用于OS X和Linux:

 phppath = '/usr/bin/php'<br> pluginpath = sublime.packages_path() + '/HtmlTidy/tidy.php'<br> retval = os.system( '%s "%s"' % ( phppath, scriptpath ) ) 

但在Windows上,php.exe似乎没有definitve默认path。 我search的越多,可能出现的越多。 到目前为止,我想我将不得不检查每一个存在的path:

 c:\php\php.exe c:\php5\php.exe c:\windows\php.exe c:\program files\php\php.exe c:\wamp\bin\php\php5\php.exe c:\xampp\php\php.exe 

这已经是一个很好的收集了,但是我所要求的是一个完整的列表,涵盖了所有的可能性 – 或者另一种解决方法,应该像检查每个可能的path一样强大。

因此,如果您在某些地方安装了php.exe,请留下您的path的评论,我会将其添加到上面的列表中。

此外,似乎有php.exephp-cli.exe 。 我想这可以循环槽每个可能的path,检查首先为php-cli.exe,然后检查php.exe并采取第一场比赛。 这是正确的还是有更好的做法?

Solutions Collecting From Web of "如何确定在Windows上php.exe的path – search默认path?"

如果用户已经定义了PHP的bin文件夹添加到系统PATH那么你应该可以尝试执行php -v来检查它是否存在。

如果你想获得php可执行文件的完整路径,而目标系统是Windows 2003或更高版本(所以Vista和7),那么你可以使用WHERE命令,即:

 C:\>where php.exe C:\Program Files (x86)\WAMP\bin\php\php5.3.5\php.exe 

另请参阅可能的相关问题: 在Windows命令行中是否有相当于“which”的内容? 。

如果你真的很想在用户的计算机上找到任何文件,你可以尝试执行一个find的equivilent – 但这将是slooow

 C: && cd \ && dir /s /b php.exe 

从PHP 5.4和更高版本,您可以使用PHP_BINARY常量。