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

ThelianPro 2017-03-19 11:17:47
小弟参照官方和网上热心程序猿帖子,进行了如下操作:
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系统来操作也没有解决。
...全文
436 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThelianPro 2017-03-20
  • 打赏
  • 举报
回复
置顶
ThelianPro 2017-03-19
  • 打赏
  • 举报
回复
php的扩展经常是windows下很难安装比如imagick,这次却成了linux下难安装了。windows下直接有nts和ts两个版本的exe安装文件提供选择。linux下只有源代码让你去编译。还有有个疑问?为啥apt-get提供的php5版本是 nts的 而不是 ts的,难道php多线程现在还是不健全的?

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧