Я использую SublimeText для непрерывного выполнения тестов PHPUnit. Отлично работает, но теперь я наткнулся на что-то странное. Я обновил до последней версии PHP через Homebrew, и если я открою сеанс терминала и php -v
, это то, что я получаю:
PHP 5.6.7 (cli) (built: Mar 22 2015 19:03:55)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
Экземпляр оболочки, который используется SublimeText, похоже, не использует эту версию PHP. Если я делаю то же самое (через запись echo shell_exec('php -v');die();
в тест PHPUnit), я получаю следующее:
PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Я немного тестировал и узнал, что автомат выделяет то же самое, если я запускаю сценарий оболочки в \bin\bash оболочке через действие "запустить сценарий оболочки".
Как сообщить /bin/bash использовать новую версию PHP?
Когда вы выдаете команду $ php
, PATH
ищет двоичный файл. Вы можете узнать, какой из них будет исполнен с помощью команды $ which php
.
Если вы хотите явно запустить тот или иной двоичный файл php, когда установлены несколько, используйте полный абсолютный путь к двоичному $/opt/php5.6/bin/php
, например $/opt/php5.6/bin/php
.
/usr/local/opt/php56/bin/php -v
и получить правильную информацию. Но как сказать \ bin \ bash использовать это по умолчанию?