如何在Windows上确定php.exe的路径 - 搜索默认路径

2022-08-30 15:13:31

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

现在我调用Python,它显然只能在OS X和Linux上运行:/usr/bin/php

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

但是在Windows上,php.exe似乎没有明确的默认路径。我用谷歌搜索得越多,出现的可能性就越多。到目前为止,我认为我必须检查以下每个路径是否存在:

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

这已经是一个相当大的集合,但我所要求的要么是一个涵盖所有可能性的完整列表 - 要么是另一种弄清楚它的方法,应该像检查每个可能的路径一样强大。

因此,如果您将php.exe安装在这些地方以外的某个地方,请在您的路径上发表评论,我会将其添加到上面的列表中。

此外,似乎还有 和 。我想循环遍历每个可能的路径是可以的。首先检查 php-cli.exe,检查 php.exe,然后进行第一个匹配。这是正确的,还是有更好的做法?php.exephp-cli.exe


答案 1

如果用户已将PHP的bin文件夹添加到系统,那么您应该能够尝试并执行以检查它是否存在。PATHphp -v

如果要获取PHP可执行文件的完整路径,并且目标系统是Windows Server 2003或更高版本(因此Windows VistaWindows 7),则可以使用该命令,即:WHERE

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

另请参阅可能相关的问题:Windows命令行上是否存在等效的“哪个”?

如果你真的不顾一切地想在用户的计算机上找到任何文件,你可以尝试执行相当于a的文件 - 但它将是懒惰find

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

答案 2

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


推荐