【问题标题】:OSX not respecting PATH when trying to install homebrew phpOSX 在尝试安装自制 php 时不尊重 PATH
【发布时间】:2018-08-19 16:26:05
【问题描述】:

我已经在 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

【问题讨论】:

  • 您的 .bash_profile 设置 PATH 的位置是什么样的?
  • 显示type -a php的输出
  • 我在这台机器上没有.bash_profile,但有.profile - 虽然它不会触及路径
  • @ArkadiuszDrabczyk 辉煌hash -r 修复了它 - 以前从未使用过该命令!谢谢
  • 好的,那我改成答案了。

标签: php bash macos homebrew macos-high-sierra


【解决方案1】:

正如命令hash -r 中所讨论的那样,解决了这个问题。来自help hash

  -r                forget all remembered locations

仅作记录:Why not use “which”? What to use then?

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2013-10-25
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多