我的操作系统是:Mac OSX 10.11
当我执行
命令时,我正在尝试在Mac上安装Phabricatorphabricator cpopt$ ./bin/phd start
我收到了一个错误:
"ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."
我在google上搜索这个问题并且我得到了很多解决方案,但它们都不适用于我,我几乎绝望了。
我怎样才能做到这一点?
答案 0 :(得分:10)
您是否已安装brew(请在此处阅读以安装http://brew.sh/)?
尝试:
brew install php
或者如果你需要使用brew安装PHP 5.6,你可以这样做:
brew install php@5.6
然后将其包含在PATH中(如果它没有自动添加),可能需要在CLI中运行您可能需要更新路径的命令,例如: (如果你去brew install php@7.1
就是这种情况,但是当我刚用brew install php
进行测试时却不是这样 - 如果你使用的是bash而不是zsh,那么将.zshrc更改为.bashrc。
echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.zshrc
如果这不起作用,我想知道phabricator是否正在调用正确版本的php。
出于好奇,你从中得到了什么输出?这就是phabricator用来确定你的php版本。
/usr/bin/env php -v
另外......你的php.ini是否已更新为pcntl扩展名?运行此命令以查看模块并查找pcntl:
php -i | grep pcntl
仔细检查运行php-cli的php.ini:
php -i | grep php.ini
答案 1 :(得分:1)
我必须这样做才能安装platform.sh命令行工具。这是谷歌的热门话题,所以我要添加这些信息。我遵循的流程如下。
在终点站:
将自己添加到' wheel'用户组。
sudo dscl . append /Groups/wheel GroupMembership <username>
授予组对/ usr / local / bin的访问权限
sudo chmod -R g+w /usr/local/bin
链接libpng for brew
brew link libpng
安装pcntl for php(在我的情况下为5.6)
brew install homebrew/php/php56-pcntl