简介

pthreads 是一组允许用户在 PHP 中使用多线程技术的面向对象的 API。 它提供了创建多线程应用所需的全套工具,无论是 Web 应用还是控制台应用。 通过使用 Thread, Worker 以及 Threaded 对象,PHP 应用可以创建、读取、写入以及执行多线程应用,并可以在多个线程之间进行同步控制。

安装

Mac下安装软件可以通过homebrew命令来执行,如果没有brew需要先安装.php安装pthreads扩展需要先保证thread safety

下载pthreads

最好通过github安装,据说官方版本在make时有问题
github: GItHub地址

编译并安装

1. 解压后进入文件夹,目录下有个config.m4文件
2. 终端输入phpize,生成build文件
3. 安装 make && make install
  • 问题1

Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
  • 说明

如果在编译时遇到这个问题,说明是没有安装autoconf,此时当前目录下是不会生成configure文件的。

  • 解决

brew install m4
  • 问题2

checking for ZTS... configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled
  • 说明

编译php的时候没有加入 --enable-maintainer-zts ,这个必须要重新编译php,不能动态加载的!

  • 解决

重新编译了php,在原来的编译参数基础上那个加入了 --enable-maintainer-zts ,重新编译安装php。

在php.ini中加入:

extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-zts-20100525"  ##必须和你的目录相对应!
  • 问题3

NOTICE: PHP message: PHP Fatal error:  The fpm-fcgi SAPI is not supported by pthreads in UnknownFatal error:  The fpm-fcgi SAPI is not supported by pthreads in Unknown
NOTICE: PHP message: PHP Fatal error:  Unable to start pthreads module in UnknownFatal error:  Unable to start pthreads module in Unknown
  • 说明

pthreads3只支持通过cli命令行模式来调用,不支持其他模式,因此在启动php-fpm进程时会报错。

  • 解决

cli模式下,php会优先读取php-cli。ini,如果没有找到会使用php.ini。通过 php --ini 查看php配置文件,复制php.ini放在同样目录下命名为php-cli.ini。然后将php.ini中对pthreads的引用注释

Mac下安装pthread扩展相关推荐

  1. brew install php55redis,Mac下安装LNMP环境

    Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容 ...

  2. mac下安装nginx和php

    From: http://www.jb51.net/article/42715.htm mac下使用homebrew安装安装.配置nginx.mysql.php-fpm的方法. 一.前话: 1.1.环 ...

  3. mac php yaf 安装,mac下安装yaf

    安装过程有点曲折,具体辛酸就不说了.. 反正折腾两三个小时,尝试了各种方式,结果也无法正确的整理出那个步骤就好,所以贴一些片段,希望对有需要的朋友有帮助. 1 Mac下快速安装PHP框架Yaf 引用 ...

  4. Mac 下安装 ruby 环境解决 brew 安装 yarn 问题

    Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 参考文章: (1)Mac 下安装 ruby 环境解决 brew 安装 yarn 问题 (2)https://www.cnblogs. ...

  5. 在Mac下安装使用OpenCV

    教导大家如何在Mac下安装使用OpenCV, 包括使用编译器,Xcode,和Eclipse的开发方法 系统环境:ML10.7.5  cmake版本:2.8.10 XCode版本:4.5.1  Open ...

  6. Mac下安装Mysql以及修改Mysql密码

    1.安装Mysql 安装有2种办法,一种是下载mysql安装文件,慢慢安装,另一种就是下载xmpp,里面自带mysql,就像是安装普通的mac软件一样,安装完毕,就有了mysql了. 方法一,官网下载 ...

  7. mac下安装redis

    mac下安装redis redis的介绍这里就不多说了下面就直奔主题. 一 redis安装 首先,redis的默认端口为6379 下载mac版redis安装包,下载地址https://redis.io ...

  8. 在MAC下安装一些软件时提示来自身份不明开发者

    在MAC下安装一些软件时提示"来自身份不明开发者",其实这是MAC新系统启用了新的安全机制. 默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序. ...

  9. Mac下安装和使用GunPG(GPG)

    GPG是加解密的工具,亦可以用于签名.非对称加解密.需要公钥和私钥. mac下安装:brew install gpg 使用gpg工具校验下载文件的完整性,从官网下载KEYS和asc文件:gpg --i ...

最新文章

  1. 基于U-Net图像分割的划痕缺陷分割(课程设计)
  2. Python wordcloud库使用说明
  3. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
  4. mysql设置Tooken过期时间_基于thinkPHP3.2实现微信接入及查询token值的方法
  5. MCMC笔记Metropilis-Hastings算法(MH算法)
  6. 联想n308 android 一体机,附文:N308设计回顾_联想 N308_一体电脑评测-中关村在线...
  7. C++new和delete实现原理(汇编解释)
  8. 计算广告 pdf_他创业20年死磕PDF一项业务,如今上市身家76亿:所有的突然牛逼,背后都是玩命死磕...
  9. 《scikit-learn》随机森林之回归
  10. Android RecyclerView(五)封装Holder与Adapter(Android 5.0 新特性)
  11. Android花屏分析,Unity游戏在手机上运行时的花屏现象
  12. hmaster和datanaode启动后很快停止_室内消火栓系统消防泵启动方法
  13. 商品类别推荐系统:LightGBM模型
  14. 单词毕业设计,微信小程序毕设,小程序毕设源码,单词天天斗 (毕业设计/实战小程序学习/微信小程序完整项目)
  15. Liang Yichen
  16. 求助各位大神JSP报错急急急!!!!感激不尽
  17. 硬件设计18之什么是VGA?
  18. 解决Ubuntu Pycharm图标问号的方法
  19. JAVA要不要看源码_为什么要看源码、如何看源码,高手进阶必看
  20. 2021年危险化学品生产单位安全生产管理人员考试内容及危险化学品生产单位安全生产管理人员试题及解析

热门文章

  1. 十分漂亮的视频源码解析
  2. wordpress WBOLT 百度推送管理 3.4.6 Pro
  3. 星辰网址缩短源码支持二维码
  4. 宁波晚报php怎么样,宁波晚报编辑部收到一封意外来信,“今天,最美的头条是你们”...
  5. webstorm编辑器,Ctrl+Alt+L格式化JS代码或格式化Vue代码后,单引号变成双引号,以及添加分号设置问题
  6. Enterprise Library系列文章目录
  7. 个人总结1[检查复选框选择个数:]
  8. CSS学习之外边距合并
  9. Table被web编程弃用的原因
  10. CSS实现背景透明而背景上的文字不透明