在Ubuntu上启用ZTS重新编译PHP

时间:2015-05-11 04:29:47

标签: php pthreads pecl

我正在尝试使用

安装pthreads
configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled

但是我在安装过程中遇到了这个错误

getMax()

我搜索过此错误。似乎我必须在启用ZTS的情况下安装新版本的PHP。有没有更简单的方法来重新编译启用ZTS而不是重新安装PHP?

1 个答案:

答案 0 :(得分:9)

以下是数字海洋社区引用的答案comment

  

ZTS支持是配置时间选项,无法在运行时启用   时间。你需要用自己构建php   --enable-maintainer-zts标志以启用它。

     

执行此操作的一种方法是修改现有包并重建它。   首先,我们需要安装和下载一些东西:

     

安装构建依赖项:

sudo apt-get build-dep php5
     

安装开发人员工具:

sudo apt-get install devscripts
     

下载来源:

apt-get source php5
     

现在进入源目录并编辑debian / rules文件:

cd php5-5.5.9+dfsg/    # The version will be different depending on the Ubuntu release
nano debian/rules
     

找到以。开头的部分   COMMON_CONFIG=--build=$(DEB_BUILD_GNU_TYPE) \并添加以下内容   配置标志:

        --enable-maintainer-zts \
        --enable-pthreads \
     

然后我们想要破解包的版本号,这样就可以了   高于存储库中的PHP版本。运行dch -i和   创建一个新的更改日志条目:

php5 (5.5.9+dfsg-1ubuntu4.5+zts1) trusty; urgency=medium

  * Rebuild with ZTS support.

 -- You <doesnt@matter.com>  Mon, 10 Nov 2014 13:14:32 -0500
     

现在可以使用以下命令构建包:

DEB_BUILD_OPTIONS=nocheck debuild
     

这需要一段时间,还需要一些内存。如果   你在一个512mb的服务器上,你可能需要添加一些交换。

     

它将在父目录中生成许多包:

cd ..
ls *deb
     

您现在可以使用sudo dpkg -i pakage_name.deb或所有这些包sudo dpkg -i *deb安装单个包