【问题标题】:Wrong php version for /usr/bin/php/usr/bin/php 的 php 版本错误
【发布时间】:2017-01-06 10:57:19
【问题描述】:

我正在使用 OSX El Capitan,我发现 /usr/bin/php 使用了错误的 php 版本。

which php
/usr/bin/php

php -v
PHP 5.5.34 (cli) (built: Apr 22 2016 19:16:58) 

我已安装最新的 MAMP,并尝试创建指向正确版本的符号链接

sudo ln -sf /Applications/MAMP/bin/php/php7.0.9/bin/php /usr/bin/php
Password:
ln: /usr/bin/php: Operation not permitted

谁能建议我如何解决这个问题?

【问题讨论】:

    标签: php apache terminal


    【解决方案1】:

    您真正的问题是 Mac SIP(​​系统完整性保护)。启用 SIP 后,您无法向 /usr 写入任何内容(/usr/local 除外)。禁用它并制作符号链接。确保在创建符号链接后重新启用 SIP。

    禁用 SIP

    1) 重新启动 Mac 并在听到启动提示音后同时按住 Command + R 键,这会将 OS X 启动到恢复模式。

    2)当“OS X Utilities”屏幕出现时,下拉屏幕顶部的“Utilities”菜单,然后选择“Terminal”

    3)在终端输入以下命令然后回车:

    csrutil disable; reboot
    

    【讨论】:

    • 即使认为这是一个很好的建议并且完全正确,我还是以另一种方式解决了它。我将在下面发布我的答案,因为我认为启用 SIP 是可以的。
    • 您可以在创建符号链接后重新启用 SIP。它会起作用的。
    【解决方案2】:

    我使用不同的方法解决了这个问题,然后禁用了 SIP

    sudo nano ~/.bash_profile
    

    我已经添加了

    alias php="/usr/local/bin/php"
    

    然后我添加了一个符号链接

    sudo ln -sf /Applications/MAMP/bin/php/php7.0.9/bin/php /usr/bin/php
    

    然后我检查了php版本

    php --version
    

    它按预期显示 7.0.9

    【讨论】:

    • 您也可以确保 /usr/local/bin 在您的路径中位于 /usr/bin 之前。
    猜你喜欢
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多