Mac下安装pthread扩展

 2023-09-05 阅读 436 评论 0

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

简介

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的引用注释

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/458.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息