Question: I'm currently developing a couple of plugins for Sublime Text 2 on OS X and I would like to make them cross platform, meaning I have to find out if and where `php.exe` is installed.

Right now I call `/usr/bin/php` in Python, which obviously works only on OS X and Linux:

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

```

But on Windows, there seems to be no definitive default path for php.exe. The more I googled for it, the more possibilities showed up. So far I think I would have to check each of the following paths for existence:

```
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

```

That's already quite a collection, but what I'm asking for is either a *complete* list covering all possibilities - *or* another way to figure it out that should be as robust as checking each possible path.

So if you have php.exe installed in some place other than these, please leave a comment with your path and I will add it to the list above.

Besides, there seems to be `php.exe` and `php-cli.exe`. I guess it would be OK to loop through each possible path. Check first for php-cli.exe, check for php.exe, and take the first match. Is that correct or is there a better practice?

Answer: 
From PHP 5.4 and later, you can use the PHP\_BINARY constant.
Use:

```
C:\xampp\php\php.exe

```

It should work if your [XAMPP](https://en.wikipedia.org/wiki/XAMPP) instance is on *D:* or *E:*. You change it accordingly from *C:*.