mac下编译安装pcntl扩展

需求

因为本人现在的php7是编译安装的,有些扩展是预先没有指定的,现在我这边缺少pcntl扩展,记录下本人的安装过程。其实mac下安装扩展和linux下差不多。本文只适用已经安装好php的情况

准备

下载源码:点我打开
编译安装:先编译安装好,已安装的再继续以下步骤,安装pcntl扩展
找到扩展:pcntl扩展一般在源码的ext目录下,php-7.1.6/ext/pcntl

步骤

1、模糊查询要安装的扩展是否存在
已存在扩展直接测试该扩展是否可用即可,如果什么都没有返回,则继续第2步

php -m | grep 'pcntl' 

效果如图:


image.png

2、查看php配置文件安装位置

php -i | grep php.ini

3、生成配置文件

cd /Users/xiaoming/php-make/php-7.1.6/ext/pcntl  //到源码下的pcntl目录
/Users/xiaoming/mnmp/php71/bin/phpize //执行phpize命令

效果如图:


image.png

4、指定配置文件

./configure --enable-pcntl --with-php-config=/Users/xiaoming/mnmp/php71/bin/php-config

效果如图:


image.png

image.png

5、执行make命令

make
make install //安装完成后会提示最终pcntl.so的路径

6、修改配置文件
编辑php配置文件,添加 extension=pcntl.so

vim /Users/xiaoming/mnmp/php71/etc/php.ini 

7、重启php-fpm
权限不够可以加上sudo, 配置了nginx或apache也需要重启相关服务

killall php-fpm
php-fpm

8、测试
php中执行pcntl_fork()看能打印出一串数字且不报错即可

问题

其实本人在编译过程出现过如c编译器版本问题导致编译扩展失败等,下次有时间再补充解决办法

你可能感兴趣的:(mac下编译安装pcntl扩展)