繁体   English   中英

如何在phpfarm php安装上安装pthreads

[英]How to install pthreads on a phpfarm php installation

记录下我为帮助他人所做的努力,并希望能就我如何做得更好获得一些反馈。

由于我的ubuntu 13.04机器上安装的php没有配置zts,因此pecl install pthreads命令失败。

选项:

1)ubuntu储存库没有启用zts的php软件包。 截至本文发布时,ubuntu的存储库中仅包含php 5.4.9(已发布:2012年11月22日)。 可以从源代码编译php版本-我最终做到了(见下文),但是。

2)我.. ..想用phpfarm为对我的本地安装运行不同版本的PHP中的能力。 在github上,这里有Christian Weiske的原始贡献( phpfarm )和FrançoisPoirotte所贡献的叉子-也称为phpfarm Francois的fork有更多配置选项(“安装后自定义”),但我无法使用PECL扩展名进行配置。 我很想知道是否被误解了,因为在我看来,它只是不接受PECL命令。

3)。 在从源代码重新编译php之前,我加载了phpfarm(尝试了两个版本),启用了php-fpm(FastCGI),并且能够使我的apache2服务器使用phpfarm版本(5.5.10),该版本显示在phpinfo()输出中。 但是php-cli总是在cli中显示原始php版本(5.4.9)(运行:php -v)。 运行(运行:php -i | grep php.ini)显示为/ etc / php5 / cli,但是我之前已删除php5和aptitude show php5返回了“未安装”状态。 我什至重命名了/ etc / php5目录,以查看是否可以强制系统使用phpfarm php版本。 显然,这是不正确的想法,我继续简单地从源代码编译php 5.6。 但是,要在cli中使用phpfarm php还有更多的事情要做吗? 我读到,cli与apache2不同,它是按命令加载其配置文件的。 如果我可以运行5.5.10版本(使用zts配置),那么我可以完成pecl install pthreads ,然后重新启用启用pthreads的phpfarm 5.5.10版本。 尽管看来我将能够在apache服务器中运行各种版本的php,但是我是否能够将phpfarm切换到另一个版本,并在php-cli中看到它的运行能力? 另外,我不确定在哪里可以为phpfarm编译过程加载pthreads文件来查找和使用它。 我可以那样做吗?

4)这个stackoverflow帖子 ,基本上由Joe Watkins( pThreads的开发者) 发布,是将pThreads安装在已配置了zts的php的Ubuntu系统上的完美方法(Zend Thread Safety)。 (谢谢乔!)

一个很好的教程,介绍了如何使用配置了fast-cgi的phpfarm和apache服务器来帮助在不同的php配置下运行网站。

那么,php,php-cli和phpfarm有什么用呢?

我不确定phpfarm,但确实知道另一种解决方案...

一种用于以多种配置维护多次PHP安装的工具

https://github.com/datingvip/multi

这是面向用户的一点,它将使您能够构建php的许多配置和版本,任何带标记的php版本以及任何来自php-src分支的修补版本。

另外,由于是我写的,它将为您安装pthreads。

git clone https://github.com/datingvip/multi
cd multi
VERSION=5.5.10 DBG=no-debug ZTS=zts ./php.multi

上面的命令将在/ opt / php中安装PHP(以一种合适的配置,一种版本)。

查看php.defaults以获取配置选项,并在构建之前进行调整

如果配置失败,例如与libxml2之类的库相关的东西,通常情况是

sudo apt-get install library-dev

如果用替换构建的库的名称替换库,将为您解决问题。 如果没有,快速谷歌应该让你再次。

构建完成后

source /path/to/multi/php.env 5.5.10

注意:multi将始终自动为任何zts版本安装pthreads

我希望能带你到某个地方...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM