OSX 尝试安装自制程序时不遵守 PATH php

OSX not respecting PATH when trying to install homebrew php

我已经在 OSX high sierra 上安装了 homebrew-php php72。奇怪的是,当我 运行 php 我仍然得到预安装的 php 7.1 - 更奇怪的是,当我 运行 which php 它告诉我它将使用来自 /usr/local/bin 的自制版本不是 /usr/bin 中的预装版本。我没有设置别名。

一些shell输出:

$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/sbin:/sbin:/opt/X11/bin

$ which php
/usr/local/bin/php

$ php --version
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

$ /usr/local/bin/php --version
PHP 7.2.3 (cli) (built: Mar  8 2018 10:30:06) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.3, Copyright (c) 1999-2018, by Zend Technologies

$ /usr/bin/php --version
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

$ alias | grep php # There are no aliases
$

$ type -a php
php is /usr/local/bin/php
php is /usr/bin/php

我想不出任何可能发生这种情况的原因?

谢谢 NFV

如命令中所述,hash -r 已修复该问题。来自 help hash:

  -r                forget all remembered locations

谨记:Why not use “which”? What to use then?