Как определить путь к php.exe на Windows - Поиск путей по умолчанию?

StackOverflow https://stackoverflow.com//questions/9645545

Вопрос

В настоящее время я разрабатываю пару плагинов для возвышенного текста 2 на OS X, и я хотел бы сделать их перекрестной платформой, то есть я должен выяснить, если и где php.exe установлен.

прямо сейчас я называю /usr/bin/php в Python, который, очевидно, работает только на 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. Чем больше я погружался за это, тем больше возможностей. Пока я думаю, что мне придется проверить каждый из следующих путей для существования:

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
.

Это уже довольно коллекция, но что я прошу, это либо Complete List , охватывающий все возможности - или другой способ понять это, что должно быть как прочная как проверка каждого возможного пути.

Так что, если у вас есть php.exe, установленный в каком-то месте, кроме них, пожалуйста, оставьте комментарий с вашим путем, и я добавлю его в список выше.

Кроме того, есть генеракодицетагкод и генеракодицетагкод. Я думаю, что это было бы в порядке для петли через каждый возможный путь, сначала проверяйте для PHP-CLI.EXE, а затем проверьте на наличие php.exe и сделайте первый матч. Это правильно или есть лучшая практика?

Это было полезно?

Решение

If the user has defined added PHP's bin folder to the system PATH then you should just be able to try and execute php -v to check that it's present.

If you want to obtain the full path to the php executable and the target system is Windows 2003 or later (so Vista, and 7) then you could use the WHERE command, ie:

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

Also see possibly related question: Is there an equivalent of 'which' on the Windows command line?.

If you are really desperate to find any file on the user's computer, you could try executing the equivilent of a find - but it's gonna be slooow!

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

Другие советы

From PHP 5.4 and later, you can use the PHP_BINARY constant.

C:\xampp\php\php.exe 

Should work if your xampp is on D: or E: you change accordingly from C:

try

echo PHP_BINDIR;

It works, I tested it on MacOS as with php 5.6

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top