Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
447 views
in Technique[技术] by (71.8m points)

ubuntu 下php5重新编译支持多线程pthread扩展问题求解?

小弟参照官方和网上热心程序猿帖子,进行了如下操作:
1、去php官网:http://php.net/downloads.php 下载了php-5.6.30.tar.bz2 源代码。
2、解压后进入目录执行如下操作
1)配置php编译参数
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --enable-opcache --enable-cli --enable-zip --enable-fpm --enable-mbstring --enable-ftp --with-zlib --with-iconv --with-curl --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-soap --enable-xml --with-xmlrpc --enable-sockets --enable-maintainer-zts –with-tsrm-pthreads
补充: --enable-maintainer-zts 这里加了php官方提示的支持多线程的参数,热心网友也是这样提示的。

2)生成makefile
./buildconf --force

3)make clean

4)编译源码
make

5)安装
make install

6)后续配置
sudo cp '/home/jianhunqinxin/Downloads/php-5.6.30/php.ini-production' '/usr/local/php5/etc/php.ini'

sudo apt-get install libapache2-mod-php5

7)phpinfo函数打印
图片描述

如图依然是 thread safety disabled nts

有哪位遇到相同问题了吗?整个过程没有遇到错误,(任何提示error的包依赖都解决了,并且重新执行到没有error为止)。
为什么我怎么编译php源码都依然是nts呢?线程安全版的php在linux下应该如何编译出来?

补充下:
1、小弟是真的不能不用pthread来做多线程而去用swoole的,因为我只需要多线程的一点功能,而且还仅仅是来辅助的。
2、不存在以前php5没有写在干净的可能,因为我find -name php5 都删掉了,甚至最后直接换了新的ubuntu系统来操作也没有解决。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...