How to install PHP pthreads extension on Ubuntu?
来源:互联网 发布:流体力学计算软件 编辑:程序博客网 时间:2024/05/17 20:08
http://stackoverflow.com/questions/15782860/how-to-install-php-pthreads-extension-on-ubuntu
I'd like to install the 'pthreads' PHP extension on Ubuntu. I'm using Ubuntu 12.04.1 LTS. And I can upgrade if needed. I really don't want to compile anything from source. For example recompile PHP from source sounds like a horrible idea to me.
In my view, the best option is to install this extension with aptitude
command. For example likeaptitude install php5-mysql
. Another good idea is to use pecl pecl install pthreads
. But is does not work for me because of the following error:
checking checking for ZTS... configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled
Let me explain why I don't like the idea to recompile PHP from source:
- I guess I should uninstall original PHP package then and all the dependencies. Because if I compile it over standard PHP then any packages update would overwrite my changes. And yes, another option is to keep PHP from updating. Anyway this introduces some extra work and makes the setup more complicated. We work in the distributed team. And I don't want other people to deal with this complicated setup on production servers.
- I want to install updates on servers. And I don't want to recompile PHP because of security fixes etc.
- I don't want to compile anything on production servers and do this many times. Then I should build my own packages and update them with new versions etc. Sorry but I'm not smart enough to do this. May be in 2-3 years but not now. Because there are a lot of things to keep in mind here. For example how, to replace standard PHP package with custom package while still satisfying all dependencies.
2
aptitude
from my distribution. But I don't do this for MySQL driver because this is already done. And I want to believe I'm not the only person using pthreads and the same setup should be done for pthreads too. – Victor SmirnovApr 3 '13 at 9:20.so
file. Or choose a distro that packages it for you (don't know if they exist). – Bart FriederichsApr 3 '13 at 9:332 Answers
ZTS: [Z]end [T]hread [S]afety.
ZTS is a compile time option that cannot be enabled at runtime. It allows the PHP interpreter, which usually executes in a single thread, to be executed in many, each with their own isolated instance of the interpreter.
The only option for you appears to be a fresh build, and then using package building tools for your distribution.
I'm not able to advise on the creation of a deb directly, however, creating an rpm is quite trivial,https://github.com/krakjoe/spex there's a starting place for that, you can then use alien to turn an RPM into a deb if you are not able to find out how to create deb packages directly.
Building from source is going to be inescapable, unless you can find some repository with a thread safe build of PHP, with a complete build environment. To that end, the informationhttp://pthreads.org/building may be of use to you. It really isn't that hard to build PHP, nor does it take many hours, on modern hardware you can have a build in less than a minute. You can and should take the opportunity to trim the fat from your installation.
On a side note, the article you reference about PHP not being thread safe is from 2008, it's very wrong. The core is thread safe, there are a few extensions that are inherently unsafe ( not abstracted badly, but fundamentally unsuitable ).
.rpm
packages using dpkg -i packages.rpm
. – DanFromGermanyFeb 9 '15 at 21:12It seems, Ubuntu doesn't have a package for the thread-safe PHP in the official repositories.Pthreads extension requires ZTS. Thus, you have two options:
- compile it yourself:
- find a .deb package somewhere, e.g. repositories of the other Debian-like systems.
I'd compile and package it myself using "checkintsall" utility. Thus, Apt will have ability to keep track of PHP version. I would also request Canonical for a package for ZTS PHP.
apt-cache show <collision-packages-during-install>
to get the required version or just pack it (checkinstall) with your systems versionapt-cache show php5 | grep Version
. – Sebastian LangeOct 31 '14 at 11:48- How to install PHP pthreads extension on Ubuntu?
- How to install a PHP PECL extension/module on Ubuntu
- php Install pthreads extension
- How to Install PHP intl extension on OS X
- How to Install AMQP PHP Extension and RabbitMQ Client on Linux
- How to Install Fonts on Ubuntu
- How to install gCvs on ubuntu 10.04
- How to install p2psim on ubuntu.10.10
- How to install chrome on Ubuntu 10.10
- how to install software on ubuntu?
- How to install GSL on linux(ubuntu)
- How to install VNC on Ubuntu
- How to install flash plugin on Ubuntu
- How to install mongoDB on Ubuntu
- How to install deb packages on Ubuntu
- How to install SmartSVN on Ubuntu 10.10
- How to Install Git on Ubuntu 12.04
- How to install GSL on ubuntu
- maven的学习笔记二、初识maven仓库配置文件
- Android fragment的保留
- JAVA温习课堂2
- Java笔记——接口与抽象类
- vs2013下编译jrtplib
- How to install PHP pthreads extension on Ubuntu?
- java集合中Comparable和Comparator辨析
- linux64下安装Go语言
- 苹果强制适配IPv6-only网络 该怎么做iOS应用兼容适配IPv6
- SCU2016-04 A题
- 【IOS学习】面试iOS工程师的相关问题
- Xcode 升级之后安装插件管理工具
- 南阳oj 233 sort it
- 2016.09.10【初中部 NOIP提高组 】模拟赛C