[转载]以php71为例,深入理解brew link命令

商业转载请联系获得授权,非商业转载请注明出处
作者:苏南大叔【京城,非著名互联网从业人员】
来源:https://newsn.net/say/brew-link-php71.html
打赏:https://newsn.net/shang.html
------------------
 

brew是mac机上面程序猿非常常用的软件包安装方式,其中有两组命令是需要大家知晓的。分别是:

  • 第一组:brew installbrew uninstall
  • 第二组,brew linkbrew unlink

不过关于第一组brew install命令,比较常用,所以大家可能会比较熟悉。后面的这组brew link命令才是本文要讲述的重点。苏南大叔将以前不久刚刚降级安装的php71为例,说明一下brew link命令。本文的模特范例是php71,这个是本文的前提事项!

预览

brew link相关命令预览:

Bash

brew link php71

或者

Bash

brew link --overwrite php71

--overwrite参数,就是强制的意思,你懂的。

 

[转载]以php71为例,深入理解brew link命令

以php71为例,深入理解brew link命令(图4-1)

 

正确的操作就到此为止,后面的都是操作失败后的补救措施。

brew link php71操作失败症状

正常情况下来说,brew link php71并不是需要主动执行的,因为在brew install php71的过程中,就已经默认执行了brew link php71。但是,由于各种各样的权限之类的问题,导致brew link php71操作是失败的。在brew install php71的过程中,就会体现为一个警告信息。

而对于实际的应用上来说,可能表现为:不能识别php命令,不能识别phpize命令,或者不能识别php-config命令。这些问题实际上是很fatal的,会导致一系列的后续错误。比如安装扩展插件识别,或者编译扩展插件失败,composer命令不能使用等问题。

指标不治本操作之识别php命令

为了识别php71的命令行,还是费了点周折的。最终是通过下面的命令成功识别的。-v成功显示php7.1的版本号。

Bash

echo 'export PATH="/usr/local/opt/php71/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php71/sbin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

 

[转载]以php71为例,深入理解brew link命令

PHP高手都在这里,就差你了

以php71为例,深入理解brew link命令(图4-2)

 

指标不治本操作之全面修复php,phpize,php-config

请注意:本步骤中描述的内容,治标不治本。仅作应急处理使用。下面的语句并不是推荐执行的,谨记,治标不治本。

  • 请大家看懂下面的语句在做什么之后,再执行。里面有rm -rf操作,头脑要清晰。
  • 如果您要修复的是php72等其它php版本,请注意替换相关字符。

Bash

which phpize
sudo rm -rf /usr/local/bin/phpize
which php
sudo rm -rf /usr/local/bin/php
which php-config
sudo rm -rf /usr/local/bin/php-config
sudo pkill -INT -o php-fpm
sudo ln -s /usr/local/opt/php71/bin/phpize /usr/local/bin/phpize
sudo ln -s /usr/local/opt/php71/bin/php /usr/local/bin/php
sudo ln -s /usr/local/opt/php71/bin/php-config /usr/local/bin/php-config
brew services start php71

 

[转载]以php71为例,深入理解brew link命令

PHP高手都在这里,就差你了

以php71为例,深入理解brew link命令(图4-3)

 

brew link php71操作失败的正确补救措施

Bash

sudo chown -R $(whoami) /usr/local

更改权限后,再次重新link操作即可。

Bash

brew link php71

 

[转载]以php71为例,深入理解brew link命令

以php71为例,深入理解brew link命令(图4-4)

 

苏南大叔在这里解释一下:link操作失败,很可能是权限的问题。而权限问题,就需要用chown或者chmod的方式来解决。解决好权限问题之后,再重新link就可以了。就不用担心php,phpize,php-config的一系列问题了。

小结

brew link大家明白的话,那么brew unlink也就好理解了,反操作而已。对吧?更多brew相关经验文字,苏南大叔推荐您查看下面的链接:https://newsn.net/tag/brew/