如何在我的 Mac OSX 上安装 PHP 扩展 'pcntl'
How to install PHP extension 'pcntl' on my Mac OSX
我的操作系统is:MacOSX10.11
我正在尝试在我的 Mac 上安装 Phabricator,当我执行
的命令时
phabricator cpopt$ ./bin/phd start
我收到一个错误:
"ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."
我在google上搜索了这个问题,我得到了很多解决方案,但它们都对我不起作用,我几乎绝望了。
我怎样才能做到这一点?
您是否安装了 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.ini,php-cli 是 运行ning:
php -i | grep php.ini
我必须这样做才能安装 platform.sh 命令行工具。这是 Google 中的热门歌曲,因此我添加了此信息。我遵循的过程如下。
在终端中:
将自己添加到 'wheel' 用户组。
sudo dscl . append /Groups/wheel GroupMembership <username>
授予组对 /usr/local/bin
的写入权限
sudo chmod -R g+w /usr/local/bin
Link 用于 brew 的 libpng
brew link libpng
为 php 安装 pcntl(在我的例子中是 5.6)
brew install homebrew/php/php56-pcntl
以防万一其他人使用 MAMP,我最近将其更新到最新版本。然后我得到了错误
"ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."
更新后我还没有重新启动我的终端。重新加载会话后一切正常。
我的操作系统is:MacOSX10.11
我正在尝试在我的 Mac 上安装 Phabricator,当我执行
的命令时phabricator cpopt$ ./bin/phd start
我收到一个错误:
"ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."
我在google上搜索了这个问题,我得到了很多解决方案,但它们都对我不起作用,我几乎绝望了。
我怎样才能做到这一点?
您是否安装了 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.ini,php-cli 是 运行ning:
php -i | grep php.ini
我必须这样做才能安装 platform.sh 命令行工具。这是 Google 中的热门歌曲,因此我添加了此信息。我遵循的过程如下。
在终端中:
将自己添加到 'wheel' 用户组。
sudo dscl . append /Groups/wheel GroupMembership <username>
授予组对 /usr/local/bin
的写入权限sudo chmod -R g+w /usr/local/bin
Link 用于 brew 的 libpng
brew link libpng
为 php 安装 pcntl(在我的例子中是 5.6)
brew install homebrew/php/php56-pcntl
以防万一其他人使用 MAMP,我最近将其更新到最新版本。然后我得到了错误
"ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."
更新后我还没有重新启动我的终端。重新加载会话后一切正常。