Mac High Sierra下通过Homebrew无法找到pcntl扩展的问题
问题原因与解决方案
你碰到的这个找不到Formula的问题,核心原因是Homebrew/php这个第三方Tap已经被官方彻底废弃并移除了——早在几年前,Homebrew就把PHP相关的维护工作从单独的php Tap迁移到了Homebrew Core仓库里,那些旧的homebrew/php/php71-pcntl这类公式早就不存在了。
更重要的是,现在Homebrew官方提供的PHP包,默认就已经编译包含了pcntl扩展,根本不需要单独安装这个扩展的Formula。给你一步步的解决步骤:
- 首先移除已经废弃的php Tap(如果之前添加过的话):
brew untap homebrew/php - 更新Homebrew到最新状态:
brew update - 检查当前PHP版本是否已经自带pcntl:
运行下面的命令,如果输出pcntl,说明扩展已经启用,直接用就行:php -m | grep pcntl - 如果你的PHP不是通过Homebrew安装的,或者确实没有pcntl,重新安装对应版本的PHP(比如你需要的7.1):
安装完成后,pcntl会默认被包含在这个PHP包中。brew install php@7.1 - 最后确保Homebrew安装的PHP优先被系统使用,把它加入环境变量(如果你用zsh就改
.zshrc,bash就改.bash_profile):echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
另外补充一句:你尝试的php54、55这类非常老旧的PHP版本,Homebrew Core里已经不再提供支持了,如果确实需要用这些版本,可能得找第三方维护的Tap,但非常不推荐,因为这些旧版本存在大量未修复的安全漏洞。
内容的提问来源于stack exchange,提问作者Muhammad Umar
相关产品推荐
相关产品推荐

