You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu/Apache2切换PHP版本:编译ZTS版PHP后CLI正常但存问题

关于PHP pthreads扩展安装与ZTS版本编译的实操建议

我最近在折腾pthreads扩展,得先把这个PHP扩展装上才行。我的服务器原本跑的是PHP 7.0,查了一圈资料后,我手动编译了支持线程安全(Thread Safety,也就是ZTS)的PHP版本。

编译完之后,我跑了php -v验证,输出是没问题的:

PHP 7.3.0-dev (cli) (built: May 7 2018 09:54:09) ( ZTS DEBUG )

接下来装pthreads的时候,有几个关键点得注意,不然很容易踩坑:

  • 一定要找和你编译的PHP 7.3-dev版本匹配的pthreads扩展源码,版本不兼容的话编译肯定过不了
  • 编译扩展的时候,必须用你刚编译好的ZTS版本PHP自带的phpize和php-config,举个例子:
    # 进入pthreads源码目录
    cd /path/to/pthreads-source
    # 用ZTS版PHP的phpize初始化
    /usr/local/zts-php/bin/phpize
    # 配置编译参数,指定ZTS版的php-config路径
    ./configure --with-php-config=/usr/local/zts-php/bin/php-config
    # 编译并安装
    make && make install
    
  • 安装完之后,要在ZTS版本对应的php.ini文件里加上extension=pthreads.so,CLI模式下直接生效,要是用其他SAPI的话得重启服务(不过提醒下,pthreads只能在CLI环境用,FPM或者Apache模块模式下用不了)
  • 还有个容易忽略的点:要确保你的系统默认PHP命令指向这个新的ZTS版本,不然执行php -m或者运行代码的时候,用的还是原来的PHP 7.0,自然看不到pthreads扩展

内容的提问来源于stack exchange,提问作者Tim Bauer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:50:56