ccb437520 发表于 2019-1-20 19:09:34

我想要开启多线程,可php版本确实ts的,如何换成nts的

特需要将php从线程安全ts转到nts版上去

ccb437520 发表于 2019-1-20 19:15:31

现在这样线程在php没法start启动,fpm还挂了

现在这样线程在php没法start启动,fpm还挂了

licess 发表于 2019-1-21 10:14:30

你这个明显是自己加了--enable-maintainer-zts 的参数肯定就变成安全线程的了

ccb437520 发表于 2019-1-21 21:03:33

回复 3# 的帖子 抱歉,这么晚回复

我试过没加--enable-maintainer-zts php extension bilud也是ts
# php -v
Failed loading /usr/local/zend/ZendGuardLoader.so:/usr/local/zend/ZendGuardLoader.so: undefined symbol: executor_globals
PHP 5.6.30 (cli) (built: Jan 20 2019 12:50:16)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm Failed loading /usr/local/zend/ZendGuardLoader.so:/usr/local/zend/ZendGuardLoader.so: undefined symbol: executor_globals
done
php信息报错

线程开启没问题,执行start就报502错误
class My extends Thread {
    public function run() {
      /** ... **/
    }
}
$my = new My();
var_dump($my->start());

licess 发表于 2019-1-22 09:56:00

回复 4# 的帖子

Failed loading /usr/local/zend/ZendGuardLoader.so:/usr/local/zend/ZendGuardLoader.so: undefined symbol: executor_globals
ZendGuardLoader没有安全线程版本,所有无法使用ZendGuardLoader

使用Thread类需要安装pthreads扩展

ccb437520 发表于 2019-1-22 21:43:42

回复 5# 的帖子

军哥,现在安装上pthreads2.0.6扩展,--enable-maintainer-zts也已编译。phpinfo.php能查看到扩展信息,使用pthreads nginx还是会报502错误

licess 发表于 2019-1-23 09:23:15

回复 6# 的帖子

那就不大清楚了,可以开慢日志、core dump之类的方法排查试试
页: [1]
查看完整版本: 我想要开启多线程,可php版本确实ts的,如何换成nts的