Bra*_*don 0 php zend-framework pthreads
我正在尝试在我的Ubuntu 12.04服务器上安装pthreads,该服务器运行PHP版本5.5.8-3 + sury.org~precision + 2.据我所知,这只是apt-get的标准安装.
然后我试着跑
sudo pecl install pthreads
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:检查ZTS的检查... configure:错误:pthreads需要ZTS,请在启用ZTS的情况下重新编译PHP
我知道这意味着PHP没有使用--enable-maintiner-zts ./config标志进行编译.
我不知道该怎么做是用这个标志重新编译PHP然后覆盖我当前的PHP安装,希望没有破坏任何东西.
我已经完成了一些关于这个主题的谷歌搜索,但是我发现的一些指南非常高级,旧,或者不是很完整,而且遗憾的是,当涉及到Linux时,我仍然是一个新手.
把所有的借口都放在一个盒子里......烧掉盒子,忘了它们.
你正在涉足相当高级的PHP,并且已经正确地确定了问题...不要害怕,只是破解......
这里有一些关于配置PHP来覆盖你的安装的乱码......
假设我在/ usr上有PHP,在/etc/php.d上有scandir,在/etc/php.ini上有配置
./configure --prefix=/usr --bindir=/usr/bin --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
Run Code Online (Sandbox Code Playgroud)
这个最小配置会覆盖我的安装,我已经包含了--bindir,因为通过设置单个配置选项,您可以隔离PHP的安装,例如/ opt/php-zts.
您至少需要额外的选项
--enable-maintainer-zts
Run Code Online (Sandbox Code Playgroud)
您应该检查当前的安装,记下启用的扩展,然后从默认设置开始.
如果扩展程序无法构建,通常是因为扩展程序包装的库的头文件在您的系统上不可用,通常情况下使用您的发行版软件包管理器安装dev或devel软件包将允许构建成功.
一旦你有一个完整的构建工作,它的好建议是将config.nice复制到一个合理的地方,以便你将来拥有它.
最后,并不总是希望实际覆盖系统上的安装,其他软件可能正在使用它,所以我通常说最好隔离一个安装,这里是我的机器上的隔离安装中的config.nice逐字:
#! /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' \
"$@"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3999 次 |
| 最近记录: |