我正在使用SublimeText连续运行PHPUnit测试。效果很好,但现在我偶然发现了一些奇怪的东西。我通过Homebrew更新到了最新的PHP版本,如果我打开一个终端会话并键入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使用的shell实例似乎没有使用此版本的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
我测试了一下,发现如果我通过automator的"运行shell脚本"操作在''bin''bash shell中运行shell脚本,automator也会发出同样的结果。
如何告诉/bin/bash使用新安装的PHP版本?
发出命令$ php
时,会在PATH
中搜索二进制文件。您可以通过命令$ which php
来确定将执行哪一个。
如果要在安装多个php二进制文件时显式运行一个或另一个php二进制程序,请使用二进制文件的完全绝对路径,例如$ /opt/php5.6/bin/php
。