Mac将PHP升级到5.6,但CLI php -v获得5.3.28?

时间:2014-09-08 18:52:17

标签: php macos composer-php

我在我的机器上安装了MAMP(附带PHP 5.5)。 localhost指向/ Applications / MAMP / htdocs。当我试图在终端中使用composer在htdocs中安装依赖项时,问题就出现了。作曲家抱怨PHP必须是5.4或以上。

我猜它抱怨PHP附带OSX。所以我已经将PHP升级到5.6

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

但是当我做的时候

$ php -v

我还是

PHP 5.3.28 (cli) (built: Aug 29 2014 18:52:17) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

而Composer仍在抱怨......

为什么?以及如何解决这个问题?

4 个答案:

答案 0 :(得分:23)

如果您使用curl进行升级,请复制&粘贴以下代码行,然后按Enter键。

$ export PATH = / usr / local / php5 / bin:$ PATH

现在,输入 $ php -v

如果操作正确,则应显示以下内容

PHP 5.6.23(cli)(建于2016年6月26日13:17:47) 版权所有(c)1997-2016 PHP小组 Zend Engine v2.6.0,版权所有(c)1998-2016 Zend Technologies     Zend Technologies的Zend OPcache v7.0.6-dev,Copyright(c)1999-2016     与Xdebug v2.2.5,版权所有(c)2002-2014,作者Derick Rethans

答案 1 :(得分:10)

如果您使用Homebrew安装了PHP 5.6,则可以使用:

打开终端,运行open -a TextEdit ~/.bash_profile,然后将其粘贴到文件的末尾:

# Use Home-brewed PHP 5.6 instead of pre-installed version (5.3)
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

保存文件并重新启动终端。

答案 2 :(得分:3)

感谢您的帮助。

这是由于$ PATH中的顺序,如上面评论中发布的Marc和jkj。

我找不到重新订购$ PATH的方法(做过一些研究,但未能找到一个简单的方法),但我能够通过简单地删除此帖后面安装的Apahce2来解决这个问题:

https://apple.stackexchange.com/questions/41143/how-to-revert-default-mac-apache-install-to-original

2014年9月9日更新: 经过一番研究,以下程序将使PHP版本设置系统广泛。

该程序来自此source,请在该页面下方查找评论并找到用户Amtriorix。

我只是在这里复制/粘贴他的解决方案:

  The php-cli version is still the Apple version if You do not change it. Your php on apache can be different as the cli version, including used modules ! So beware.
    As Brian Wynn did mention, of course You can modify Your PATH settings to write into your ~/.profile file the following
    export PATH=/usr/local/php5/bin:$PATH
    Most likely a better approach is to make the setting system wide.
    You should symlink to the right php executable.
    So:
    #cd /usr/bin
    #mv php php.org
    #ln -s /usr/local/php5/bin/php
    test if it works:
    #php -v && php -m && php --ini
    --> should be php-osx version with related modules...

答案 3 :(得分:0)

  1. 查看终端历史记录以查看新版本的安装位置(可能是/ usr / local)
  2. 键入'哪个php'进入终端以查看当前版本的位置(这应该与新版本不同)
  3. 转到users / username / .bash_profile
  4. 将旧位置替换为新位置,或在原始位置后添加其他位置,用冒号分隔(如果替换,则可能会破坏其他位置,具体取决于位置)。
  5. 重启终端,运行php -v进行测试。

    export PATH="/usr/local/mysql/bin:/usr/local/bin:/usr/local:$PATH"