首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu服务器上安装PHP线程

在Ubuntu服务器上安装PHP线程
EN

Stack Overflow用户
提问于 2014-02-16 02:17:41
回答 1查看 4.1K关注 0票数 0

我正在我的Ubuntu12.04服务器上安装线程,它运行的是PHP版本5.5.8-3+sury.org~精准+2。据我所知,这只是通过apt-get进行的一个标准安装。

然后我试着跑

代码语言:javascript
复制
sudo pecl install pthreads

这会产生以下错误:检查ZTS.配置:错误:p线程需要ZTS,请重新编译启用ZTS的PHP。

我理解这意味着PHP不是使用--启用-maintiner-zts./config标志编译的。

我不知道如何用这个标志重新编译PHP,然后重写我当前的PHP安装,希望不会破坏任何东西。

我已经在这个主题上做过一些谷歌搜索,但我发现的少数指南都是非常高级的、陈旧的或不太完整的,遗憾的是,在Linux方面,我仍然是个新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-22 06:35:59

把你所有的借口放在一个盒子里..。烧掉盒子,忘了它们吧。

您正在涉足相当高级的PHP,并且已经正确地识别了问题.别害怕,就这样.

下面是一些关于配置PHP以覆盖您的安装的杂乱无章的内容.

让我们假设我在/usr上有PHP,在/etc/php.d有scandir,在/etc/php.ini有配置。

代码语言:javascript
复制
./configure --prefix=/usr --bindir=/usr/bin --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d

这个最小的配置会覆盖我的安装,我已经包含了-bindir,因为通过设置单个配置选项,您可以将PHP的安装隔离到/opt/php。

你至少需要额外的选择

代码语言:javascript
复制
--enable-maintainer-zts

您应该检查当前的安装,记下已启用的扩展,然后从默认状态继续工作。

如果一个扩展不能构建,这通常是因为扩展包装的库的头部在您的系统上不可用,通常情况下,使用发行版包管理器安装dev或devel包将允许构建成功。

一旦你有一个工作的完整的构建,它的好建议,复制config.nice到一个明智的地方,以便你有它的未来。

最后,在您的系统上实际覆盖安装并不总是可取的,其他软件可能正在使用它,所以我通常说最好隔离一个安装,下面是一个config.nice逐字与我的计算机上的隔离安装:

代码语言:javascript
复制
#! /bin/sh
#
# Created by configure

'./configure' \
'--with-apxs2=/opt/php-zts/bin/apxs' \
'--prefix=/opt/php-zts' \
'--bindir=/opt/php-zts/bin' \
'--with-config-file-dir=/opt/php-zts' \
'--with-config-file-scan-dir=/opt/php-zts/modules.d/' \
'--with-curl=shared,/usr' \
'--with-zlib' \
'--with-libxml2' \
'--enable-simplexml' \
'--with-mysql=mysqlnd' \
'--with-pdo-mysql=mysqlnd' \
'--enable-gd-native-ttf' \
'--with-mysqli' \
'--disable-phar' \
'--enable-shared' \
'--enable-maintainer-zts' \
'--enable-opcache' \
'--enable-sockets' \
'--with-curl=shared' \
'--enable-pcntl=shared' \
'--enable-mbstring' \
"$@"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21806448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档