【发布时间】:2015-09-17 01:16:10
【问题描述】:
我通过 IUS 存储库在 CentOS 6.7 上安装了 PHP 5.6.13。这是php -v 命令的输出:
# php -v
PHP 5.6.13 (cli) (built: Sep 3 2015 11:54:03)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
为了安装和启用pthreads,我按照以下步骤操作:
-
搜索合适的包:
# yum search pthreads ================================= N/S Matched: pthreads =============================== mingw32-winpthreads-static.noarch : Static version of the MinGW Windows pthreads library mingw64-winpthreads-static.noarch : Static version of the MinGW Windows pthreads library php55u-pecl-pthreads-debuginfo.x86_64 : Debug information for package php55u-pecl-pthreads php56u-pecl-pthreads-debuginfo.x86_64 : Debug information for package php56u-pecl-pthreads mingw32-winpthreads.noarch : MinGW pthread library for the win32 target mingw64-winpthreads.noarch : MinGW pthread library for the win64 target openblas-threads.i686 : An optimized BLAS library based on GotoBLAS2, pthreads version openblas-threads.x86_64 : An optimized BLAS library based on GotoBLAS2, pthreads version php55u-pecl-pthreads.x86_64 : Threading API php56u-pecl-pthreads.x86_64 : Threading API -
安装包:
#yum install php56u-pecl-pthreads.x86_64 Resolving Dependencies --> Running transaction check ---> Package php56u-pecl-pthreads.x86_64 0:2.0.10-2.ius.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================================================================================================= Installing: php56u-pecl-pthreads x86_64 2.0.10-2.ius.el6 ius 71 k Transaction Summary ======================================================================================================================================================================================================================================= Install 1 Package(s) -
找到
.so所在的位置:#locate pthreads.so /usr/lib64/php-zts/modules/pthreads.so -
通过尝试以下每一行在
/etc/php.ini启用:extension=pthreads.so extension=/usr/lib64/php-zts/modules/pthreads.so zend_extension=pthreads.so zend_extension=/usr/lib64/php-zts/modules/pthreads.so -
重新启动 Apache 并查找模块
# php -m | grep pthreads Failed loading /usr/lib64/php-zts/modules/pthreads.so: /usr/lib64/php-zts/modules/pthreads.so: undefined symbol: core_globals_id
并且总是失败并显示上述消息。我做错了什么?
注意:我通过运行phpinfo() 注意到Thread Safety 已禁用,我是否需要启用此功能才能正确加载库?
【问题讨论】: