Система сборки Sublime Text 3 выполняет другую версию PHP

Я использую SublimeText3 на OSX. Проблема в:

  • Если я исполняю скрипт PHP на SublimeText3, то он выполняется PHP 5.5.
  • Но если я выполняю тот же скрипт из оболочки (iTerm), то он выполняется PHP 7.

Как я могу выполнить скрипт с PHP7 на SublimeText3?

Система сборки следующая.

{ "cmd" : ["php", "$file"], "file_regex": "php$", "selector" : "source.php" } 

И скрипт PHP просто:

 <?php phpinfo(); ?> 

Solutions Collecting From Web of "Система сборки Sublime Text 3 выполняет другую версию PHP"

Укажите абсолютный путь к команде (cmd).

Предположим, что $file /path/to/file , тогда команда ['php', "$file"] расширяется до php /path/to/file . Это похоже на выполнение следующих команд в командной строке:

 $ php /path/to/file 

Поскольку команда ( php ) является относительной, поиск пути к файлу (в linux системный путь находится в переменной среды PATH ) выполняется поиск php .

Вы можете указать абсолютный путь для команды. Допустим, у вас установлены следующие версии:

  • /path/to/php/versions/7.0.0/bin/php
  • /path/to/php/versions/5.5.0/bin/php

Затем вы можете настроить команду на использование v7.0.0:

 { "cmd" : ["/path/to/php/versions/7.0.0/bin/php", "$file"], "file_regex": "php$", "selector" : "source.php" } 

И v5.5.0:

 { "cmd" : ["/path/to/php/versions/5.5.0/bin/php", "$file"], "file_regex": "php$", "selector" : "source.php" } 

И так далее…

дальнейшее чтение

  • Что такое переменные Enviornment