我想要开启多线程,可php版本确实ts的,如何换成nts的
特需要将php从线程安全ts转到nts版上去现在这样线程在php没法start启动,fpm还挂了
现在这样线程在php没法start启动,fpm还挂了 你这个明显是自己加了--enable-maintainer-zts 的参数肯定就变成安全线程的了回复 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());
回复 4# 的帖子
Failed loading /usr/local/zend/ZendGuardLoader.so:/usr/local/zend/ZendGuardLoader.so: undefined symbol: executor_globalsZendGuardLoader没有安全线程版本,所有无法使用ZendGuardLoader
使用Thread类需要安装pthreads扩展
回复 5# 的帖子
军哥,现在安装上pthreads2.0.6扩展,--enable-maintainer-zts也已编译。phpinfo.php能查看到扩展信息,使用pthreads nginx还是会报502错误回复 6# 的帖子
那就不大清楚了,可以开慢日志、core dump之类的方法排查试试
页:
[1]