2014-10-20 27 views
1

我想在我的Apache2服務器上啓用線程安全,以最終能夠使用PHP pthreads模塊(PHP多線程)。如何啓用Apache2服務器上的線程安全

到目前爲止,我已編譯PHP從源代碼的選項(COMMON_CONFIG下):

--enable-maintainer-zts 

和的phpinfo說Thread Safety disabled

然後我重新編譯:

--enable-maintainer-zts 
--enable-roxen-zts 

和的phpinfo說:Thread Safety disabled

最後,我試着用:

--enable-maintainer-zts 
--enable-roxen-zts 
--with-tsrm-pthreads 

和的phpinfo說Thread Safety disabled

我仍然試圖安裝並行線程作爲最後的情況下,使用PECL。在正確的CLI代表移動pthreads.so後,PHP說:

~ # php -m 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pthreads.so' - /usr/lib/php5/20121212/pthreads.so: undefined symbol: sapi_globals_id in Unknown on line 0 

我在做什麼錯?我是否需要使用特殊的./configure選項從源代碼編譯Apache?

任何英特爾非常感謝,謝謝!

+0

沒有必要重新編譯Apache。我3天前用--enable-maintainer-zts啓用了線程安全,並且它工作正常。 Pthreads也可以編譯成PHP,但你必須先從GIT下載它。你確定你使用了正確的版本[路徑,...]嗎? – 2014-11-07 18:07:18

+0

我成功構建了2周前的所有內容,但卻懶得更新我的文章:p我所做的是從PHP.net/Apache.org源代碼編譯而不是'apt-get source'。然後用正確的'。/ configure'選項一切正常。 – PinkTurtle 2014-11-07 18:09:31

回答

0

通過從Apache.org和PHP.net下載源代碼,一切都很順利。然後使用正確的./configure選項成功啓用了Zend線程安全PHP端和Worker MPM Apache端。

如果您需要關於./configure選項的信息,請評論。

注意:通過apt-get source構建PHP和Apache包不適合我。即使通過編輯debian/rules文件具有所需的配置選項。這些軟件包將會安裝,但不會考慮--enable-maintainer-zts--with-mpm=Worker

+0

可以請你指導如何做到這一點... thanx – Reoxey 2017-03-27 10:07:05

+0

已經2年不知道了。我相信的是從Apache.net下載php.net和Apache源碼的php源代碼。然後添加選項--enable-maintainer-zts並編譯。 – PinkTurtle 2017-03-30 12:15:08

+0

我試了一切,但它不工作......我不知道我在做什麼錯。 – Reoxey 2017-03-30 14:24:11