以php71为例,深入理解brew link命令
发布于 作者:苏南大叔 来源:程序如此灵动~brew是mac机上面程序猿非常常用的软件包安装方式,其中有两组命令是需要大家知晓的。分别是:
- 第一组:
brew install
和brew uninstall
。 - 第二组,
brew link
和brew unlink
。
不过关于第一组brew install
命令,比较常用,所以大家可能会比较熟悉。后面的这组brew link
命令才是本文要讲述的重点。苏南大叔将以前不久刚刚降级安装的php71为例,说明一下brew link
命令。本文的模特范例是php71
,这个是本文的前提事项!
预览
brew link
相关命令预览:
brew link php71
或者
brew link --overwrite php71
--overwrite
参数,就是强制的意思,你懂的。
正确的操作就到此为止,后面的都是操作失败后的补救措施。
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的版本号。
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
指标不治本操作之全面修复php
,phpize
,php-config
请注意:本步骤中描述的内容,治标不治本。仅作应急处理使用。下面的语句并不是推荐执行的,谨记,治标不治本。
- 请大家看懂下面的语句在做什么之后,再执行。里面有
rm -rf
操作,头脑要清晰。 - 如果您要修复的是
php72
等其它php版本,请注意替换相关字符。
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
brew link php71
操作失败的正确补救措施
sudo chown -R $(whoami) /usr/local
更改权限后,再次重新link操作即可。
brew link php71
苏南大叔在这里解释一下:link操作失败,很可能是权限的问题。而权限问题,就需要用chown或者chmod的方式来解决。解决好权限问题之后,再重新link就可以了。就不用担心php
,phpize
,php-config
的一系列问题了。
小结
brew link
大家明白的话,那么brew unlink
也就好理解了,反操作而已。对吧?更多brew相关经验文字,苏南大叔推荐您查看下面的链接:https://newsn.net/tag/brew/ 。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。