2014-02-16 80 views
0

我正在運行PHP版本5.5.8-3 + sury.org〜precise + 2的Ubuntu 12.04服務器上安裝pthreads。據我所知,這只是通過apt-get的標準安裝。在Ubuntu服務器上安裝PHP pthreads的問題

我再嘗試運行

sudo pecl install pthreads 

這將產生以下錯誤: 檢查檢查ZTS ...配置:錯誤:並行線程需要ZTS,請重新編譯PHP與特稿啓用

我知道這意味着PHP不是用--enable-maintiner-zts ./config標誌編譯的。

我不知道該怎麼做是用這個標誌重新編譯PHP,然後覆蓋我當前的PHP安裝,希望不會破壞任何東西。

我對這個主題做了一些Google搜索,但是我發現的一些指南是非常高的水平,舊的,或者不是很完整,可惜我在Linux方面還是有點新手。

回答

6

把你所有的藉口都放在一個盒子裏......把盒子燒掉,忘了它們。

您在涉足相當先進的PHP,並已經正確識別的問題......不要害怕,只是對裂縫...

下面是關於配置PHP覆蓋安裝一些隨筆。 ..

可以說我有是/ usr PHP,SCANDIR在/etc/php.d和配置在/etc/php.ini中

./configure --prefix=/usr --bindir=/usr/bin --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d 

那最小的配置將覆蓋我安裝,我已經包括 - 因爲通過設置該單一配置選項,您可以隔離PHP的安裝,例如,/ opt/php-zts。

你需要,至少,附加選項

--enable-maintainer-zts 

你應該檢查你當前的安裝,請記啓用擴展的,只是你的方式從默認。

如果擴展程序無法生成,通常是因爲擴展名打包的庫的頭文件在系統上不可用,通常情況下,使用您的發行版安裝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' \ 
"[email protected]"