• 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、找到pcntl目录位置

    cd /Users/xiaoming/php-make/php-7.1.6/ext/pcntl  //注意是你下载的那个源码的目录下
    

    3、生成配置文件

    /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

    php -i | grep php.ini  //查看配置文件位置
    vim /Users/xiaoming/mnmp/php71/etc/php.ini  //编辑配置文件
    

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

    killall php-fpm
    php-fpm
    

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

    <?php
     echo pcntl_fork(); //20583
    

    问题

    安装并不是一帆风顺的,中间本人在编译过程出现过找不到某文件之类的莫名其妙c的语法错误,后观察是c编译器版本问题导致编译失败,指定c编辑器的版本后问题可解决。下次有时间再分享下该类问题的解决办法
    (另说明,之后会陆续在园子里写文,毕竟其他平台的文章这里发一点那里发一点还是太麻烦了。。。就在园子里它不香吗)

  • 相关阅读:
    javascript进阶,从表达式到引用类型,变量监听
    nodejs和es6,es5等关系
    前后端分离工程带来的问题
    vue难点解析
    angular框架及其UI使用
    Javascript入门和TypeScrip入门
    从熟悉项目到开发项目
    昌平某公司入职一周感想
    css和前端UI框架设计ElementUI
    2020新征程
  • 原文地址:https://www.cnblogs.com/xuduan/p/14509201.html
Copyright © 2020-2023  润新知