Mac/OSx - 更改在bash中调用的PHP版本

fro*_*y22 15 php macos bash

我有PHP的问题,通过bash命令"php"调用:

在bash中:

php -v#PHP 5.3.17

/ usr/bin/php#PHP 5.3.15

我主要想要辅助PHP版本5.3.15,因为在这个版本中我已经正确安装了扩展等.

如何将/ usr/bin/php设置为main - >我想在调用" php -v "时返回我的5.3.15版本.

执行我糟糕的英语,我希望你理解.

非常感谢.我有Mac OSx Lion

ioC*_*ron 23

另一种不更改原始php文件/链接的方法是,如果您按如下方式编辑.bashrc文件(也可以使用其他命令):

  1. 打开终端/命令行并输入:

    vim ~/.bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后按"i"进入编辑模式(如果之前出现问题,由于交换文件,然后按"E"编辑文件)
  3. 添加以下行(根据需要更改路径):

    alias php="/Applications/MAMP/bin/php/php5.4.10/bin/php"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 按"ESC"并输入":wq"
  5. 如果你需要php-alias直接在你当前的shell会话中工作,那么你必须使用以下命令(这是可选的,所以只有当你继续在你当前的shell中工作时):

    source ~/.bashrc
    
    Run Code Online (Sandbox Code Playgroud)

就是这样,所需的/ usr/bin文件夹没有变化,如果需要,你可以将你的bashrc文件/设置导出到任何其他linux/bsd系统,甚至不用触及你的OS/usr/bin文件.您还可以为不同的php版本添加新的别名,例如"php52","php53","php54"等别名,以用于测试目的或任何其他目的.

玩得开心,ioCron


小智 15

操作系统:OSX Yosemite
只需解决类似的问题vim ~/.bash_profile

export PATH =/usr/local/bin:$ PATH
export PATH =/Applications/MAMP/bin/php/php5.5.10/bin:$ PATH

确保订单正确无误.放在export PATH=/usr/local/bin:$PATH前面export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

/ usr/local/bin包含mac 默认的php.

希望这可以帮助.


jer*_*oen 6

您应该查找路径并检查路径中的所有目录是否有指向错误 php 版本的符号链接。

然后您可以删除该符号链接并将其替换为指向正确版本的链接。

您还可以使用find查看所有实例:

$ sudo find / -name "php"
Run Code Online (Sandbox Code Playgroud)


Gre*_*reg 6

对于brew用户,如果你已经拥有54,那么你可能不需要php55 - 但无论你是否应该运行这些命令

$ brew install php54 php54-xdebug php54-mcrypt
Run Code Online (Sandbox Code Playgroud)

如果需要,你可以用最新的数字代替54.最后我检查了它是56

那么基于上面的一些评论你应该运行:

$ php --version
Run Code Online (Sandbox Code Playgroud)

它可能会显示:

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
Run Code Online (Sandbox Code Playgroud)

如果确实如此,那么改变你的.bash_profile就像其他一些评论者一样,我的brew实例(我认为它的默认值)存在于

/usr/local/Cellar
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

当使用brew安装东西时,它们被放入Cellar并通过bin连接.但在这种情况下,我们需要覆盖PHP

$ sudo nano ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

我的有点看起来像:

PATH=$PATH:~/bin
PATH=$PATH:/usr/local/bin
PATH=$PATH:/usr/local/sbin
PATH=$PATH:/usr/local/Cellar/r/2.15.1/R.framework/Versions/Current/Resources/li$
export PATH
Run Code Online (Sandbox Code Playgroud)

这意味着它已经可以访问/ usr/local/bin - 但我使用别名通过在底部附近添加此行来指定:

alias php="/usr/local/bin/php"
Run Code Online (Sandbox Code Playgroud)

保存并关闭终端窗口,打开另一个窗口,它应显示如下内容:

$ php --version
PHP 5.4.27 (cli) (built: Apr 24 2014 17:16:35) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)


sla*_*8cu 5

我建议您通过“Mac Ports”安装 php。

您安装了多个版本的 php。

使用 cli 命令“which”,您可以:

描述 which 实用程序获取命令名称列表,并搜索实际调用这些命令时将运行的每个可执行文件的路径。

因此,请阅读 cli 命令“which”的手册页。

从您的 cli 执行此操作:

哪个php

然后你会看到你的 php 可执行文件在哪里。我建议您将您的 php 可执行文件替换为指向您的 /usr/bin/php.ini 的符号链接。

  • 感谢删除文件 `/opt/local/bin/php` 并创建符号链接 - `sudo ln -s /usr/bin/php /opt/local/bin/php` 完美运行 (3认同)