Uni9K1ng 发表于 2016-2-3 11:38:37

LNMP1.2安装pthreads出错

已在编译PHP中加入 --enable-maintainer-zts

licess 发表于 2016-2-3 14:39:22

如果你是直接修改的编译参数需要上传完整日志

如果你是安装完后以扩展形式安装的话参考:https://www.vpser.net/manage/lnmp-php-install-ext.html
1.2以上版本也可以直接 pecl install pthreads 进行安装

你提供的日志里既没有php版本信息,也没有pthreads相关信息,没法说,猜的话可能兼容性问题

Uni9K1ng 发表于 2016-2-3 17:34:22

回复 2# 的帖子

LNMP1.2,只要在php编译中加入了--enable-maintainer-zts,Xcache和Memcached就会安装失败。
选择的PHP5.4 MySQL5.5

Uni9K1ng 发表于 2016-2-3 17:36:11

回复 2# 的帖子

pecl install pthreads
目前好像只支持PHP7。。。

licess 发表于 2016-2-3 19:42:06

回复 3# 的帖子

可能有兼容性问题

naka1205 发表于 2017-8-21 19:08:58

我的问题是: 是不是需要重新编译PHP?添加--enable-maintainer-zts
本地WIN7 安装的是PHP 5.6.28XAMMP Thread Safety enabled   安装 php_pthreads-2.0.4-5.6-ts-vc11-x86   正常


LINUX 安装的是PHP 5.6.30lnmpa
线上LINUXThread Safety disabled   
pecl install pthreads 安装 提示需要PHP7
pthreads-2.0.10 安装提示 checking checking for ZTS... configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled


[ 本帖最后由 naka1205 于 2017-8-21 19:12 编辑 ]

licess 发表于 2017-8-22 08:51:18

回复 6# 的帖子

上面已经提示你了,让你在编译参数上添加 --enable-maintainer-zts 参数重新编译安装php
修改 include/upgrade_php.sh 在你想安装的php版本的对应参数里加上 --enable-maintainer-zts 保存 ./upgrade.sh php 升级一下就行了

naka1205 发表于 2017-8-22 11:20:28

回复 7# 的帖子

感谢!我想问的就是,需不需要重新编译安装PHP!

naka1205 发表于 2017-8-22 14:09:51

回复 7# 的帖子

按照你的方式重新编译了。
但是新的问题来了!
我在其中的一个站点根目录写了一个cli脚本 ,这个脚本和之前在WIN7 运行的一样 是一段实现多线程的脚本
是不是之前的配置和新添加开启的 Thread Safety 有关系?
请问要怎么处理

我把 /usr/local/php/conf.d/002-zendguardloader.ini
这里面的配置都注视掉,就正常了

不过我是把环境重新装过了然后把pthreads扩展的版本改成2.0.4(之前是2.0.10)

全部从头开始安装配置 就可以正常使用PHP 的多线程了
只是zendguardloader 的这个问题还是没有完成解决

[ 本帖最后由 naka1205 于 2017-8-22 16:12 编辑 ]

licess 发表于 2017-8-22 19:13:41

回复 9# 的帖子

zendguardloader没有 ts版,注释 /usr/local/php/conf.d/002-zendguardloader.ini 里面的内容就行了

php fatal error class Thread not found的提示的话php -m 看一下模块里有没有pthreads模块,可能你只开启了zts,但是还没按模块方式安装上pthreads模块
页: [1]
查看完整版本: LNMP1.2安装pthreads出错