我的PHP集成环境用的是MxSrvs,需要的请留言或私信我。
电脑系统:MacOs
在使用workerman时候遇到
Fatal error: Uncaught Error: Call to undefined function pcntl_signal()
让我安装pcntl扩展。
1.先看一下PHP版本:
/Applications/MxSrvs/bin/php/bin/php -v
2.然后去https://www.php.net/releases/下载对应版本的PHP压缩包,然后解压
3.然后进入这个解压文件夹
4.生成配置文件:
先进pcntl
cd ext/pcntl
然后
/Applications/MxSrvs/bin/php/bin/phpize
如果报错了
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
准备安装autoconf(如果有安装就不用这一步了)
brew install autoconf
如果brew也没有,执行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
中途输入一下电脑密码:
直到出现安装成功!
再次安装autoconfig
rew install autoconf
自动配置安装完成后,执行生成配置文件
/Applications/MxSrvs/bin/php/bin/phpize
然后挂载配置
./configure --with-php-config=/Applications/MxSrvs/bin/php/bin/php-config
5.然后安装:
make && make install
最后编译安装结果:
6.编辑php.ini文件,加入扩展pcntcl.so:
cd /Applications/MxSrvs/bin/php/etc
so文件在“/Applications/MxSrvs/bin/php/lib/php/extensions/no-debug-non-zts-20190902”目录下
vim php.ini
加入
[pcntl]
extension="/Applications/MxSrvs/bin/php/lib/php/extensions/no-debug-non-zts-20190902/pcntl.so"
重启PHP和ng
**
安装其他扩展一样的操作方式:
- cd到下载的php解压包里的ext文件夹下
/Applications/MxSrvs/bin/php/bin/phpize
./configure --with-php-config=/Applications/MxSrvs/bin/php/bin/php-config
make && make install
- php.ini文件引入扩展
extension="/Applications/MxSrvs/bin/php/lib/php/extensions/no-debug-non-zts-20190902/xxx.so"