【问题标题】:How to install PHP extension 'pcntl' on my Mac OSX如何在我的 Mac OSX 上安装 PHP 扩展“pcntl”
【发布时间】:2015-12-09 08:58:32
【问题描述】:

我的操作系统是:Mac OSX 10.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."

我在谷歌上搜索过这个问题,我得到了很多解决方案,但它们都对我不起作用,我几乎绝望了。

我怎样才能做到这一点?

【问题讨论】:

    标签: php phabricator pcntl


    【解决方案1】:

    您是否安装了 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
    

    【讨论】:

    • 根据你的方法,我安装自制软件并执行命令'brew install homebrew/php/php55-pcntl',它对我有用。非常感谢,你节省了我的时间。你的帮助非常感谢。
    • 另外,brew 是一个包管理工具,所以你很可能会用它来在 OSX 上安装很多东西!
    • 好的,我知道了,谢谢
    • @ClaytonSmith 请如果你能帮我安装这些 php 扩展...我在 MAC 上有 brew 和 php7 但我无法安装这些:OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP扩展 XML PHP 扩展我找不到命令
    • 我收到此错误错误:没有可用的公式名称为“homebrew/php/php55-pcntl”
    【解决方案2】:

    我必须这样做才能安装 platform.sh 命令行工具。这是谷歌的热门,所以我添加了这个信息。我遵循的过程如下。

    在终端:

    将自己添加到“wheel”用户组。

    sudo dscl . append /Groups/wheel GroupMembership <username>
    

    授予组对 /usr/local/bin 的写入权限

    sudo chmod -R g+w /usr/local/bin
    

    为 brew 链接 libpng

    brew link libpng
    

    为 php 安装 pcntl(在我的情况下为 5.6)

    brew install homebrew/php/php56-pcntl
    

    【讨论】:

    • 错误:homebrew/php 已被弃用。
    【解决方案3】:

    以防万一其他人使用 MAMP,我最近将其更新到最新版本。然后我得到了错误

    "ERROR: The PHP extension 'pcntl' is not installed. You must install it to run daemons on this machine."

    自从我更新终端后,我没有重新启动它。重新加载会话后一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 2016-04-08
      • 2012-06-10
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 2013-01-13
      相关资源
      最近更新 更多