MAC安装PHP SWOOLE

Swoole 是什么?面向生产环境的 PHP 异步网络通信引擎

Swoole 官方网站:https://www.swoole.com/

Swoole 官方安装命令:pecl install swoole

在本机执行PECL命令后发现报错:Could not open input file: /usr/local/lib/php/peclcmd.php,于是重新安装PECL:

下载PECL:

$ curl -O https://pear.php.net/go-pear.phar

安装PECL:

$ sudo php -d detect_unicode=0 go-pear.phar

MAC安装PHP SWOOLE_第1张图片

MAC安装PHP SWOOLE_第2张图片

安装PECL成功后,执行PECL仍然报错:Could not open input file: /usr/local/lib/php/peclcmd.php,于是开始查找报错原因:

# 查看pecl命令脚本路径

$ which pecl

/usr/local/bin/pecl

# 查看pecl脚本

$ vim /usr/local/bin/pecl

#!/bin/sh

# first find which PHP binary to use
if test "x$PHP_PEAR_PHP_BIN" != "x"; then
  PHP="$PHP_PEAR_PHP_BIN"
else
  if test "/usr/local/bin/php" = '@'php_bin'@'; then
    PHP=php
  else
    PHP="/usr/local/bin/php"
  fi
fi

# then look for the right pear include dir
if test "x$PHP_PEAR_INSTALL_DIR" != "x"; then
  INCDIR=$PHP_PEAR_INSTALL_DIR
  INCARG="-d include_path=$PHP_PEAR_INSTALL_DIR"
else
  if test "/usr/local/lib/php" = '@'php_dir'@'; then
    INCDIR=`dirname $0`
    INCARG=""
  else
    INCDIR="/usr/local/lib/php"
    INCARG="-d include_path=/usr/local/lib/php"
  fi
fi

exec $PHP -C -n -q $INCARG -d date.timezone=UTC -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@"

可以看出,pecl脚本中使用的peclcmd.php路径是/usr/local/lib/php/peclcmd.php,可是这个路径并没有这个文件。

解决思路:

<1> 首先,查找peclcmd.php文件的路径

$ sudo find/ -name peclcmd.php

返回:/usr/local/Cellar/[email protected]/7.1.16/share/pear/peclcmd.php

所以:peclcmd.php的路径为/usr/share/pear/peclcmd.php。

<2> 然后,将此路径软链接到pecl脚本中使用的peclcmd.php路径:/usr/local/lib/php/peclcmd.php

$ sudo ln -s /usr/local/Cellar/[email protected]/7.1.16/share/pear/peclcmd.php /usr/local/lib/php/peclcmd.php

# 再次执行pecl命令:

$ pecl

MAC安装PHP SWOOLE_第3张图片

结束

你可能感兴趣的:(MAC安装PHP SWOOLE)