我一直在努力研究如何在我的 ubuntu 服务器中安装pthread以允许 php 线程。请帮我。
问问题
8722 次
1 回答
4
如何在 LINUX 系统中安装:
以下说明将导致 PHP 的隔离安装,不会影响您当前的安装。
1) 将 PHP 源代码检出到系统上的新目录中
cd /usr/src
git clone https://github.com/php/php-src
cd php-src
1a) 可选择签出特定版本的 PHP
git checkout PHP-5.6
2) 将 pthreads 源下载到构建目录 (/ext)
cd ext
git clone https://github.com/krakjoe/pthreads
cd ../
3)配置新的隔离PHP安装
./buildconf --force
./configure --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/ \
--enable-pthreads=shared \
--with-curl=shared,/usr \
--with-zlib \
--with-libxml2 \
--enable-simplexml \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-gd-native-ttf \
--with-mysqli \
--enable-shared \
--enable-maintainer-zts \
--enable-sockets \
--with-curl=shared \
--enable-mbstring
make -j8
make install
echo "extension=pthreads.so" > /opt/php-zts/modules.d/pthreads.ini
此处使用的配置命令将导致具有一组合理模块的相当标准的安装。如果构建过程失败,您应该能够通过安装开发包来解决错误,例如 curl 模块是否配置或构建失败
yum install curl-devel
或者您的系统的等效项应该可以解决错误,从而允许继续构建。
4) 将 /opt/php-zts/bin 中一些有用的东西符号链接到 /usr/local/bin
ln -s /opt/php-zts/bin/php /usr/local/bin/php-zts
ln -s /opt/php-zts/bin/phpize /usr/local/bin/phpize-zts
ln -s /opt/php-zts/bin/php-config /usr/local/bin/php-config-zts
ln -s /opt/php-zts/bin/php-cgi /usr/local/bin/php-cgi-zts
ln -s /opt/php-zts/bin/phpdbg /usr/local/bin/phpdbg-zts
此时,您已经安装了 PHP(您选择的分支或主分支的版本,如果没有),并且 pthreads 可用。
用于隔离安装的建筑模块:
构建模块的过程如下(以APCu为例):
cd /usr/src
git clone https://github.com/krakjoe/acpu
cd apcu
phpize-zts
./configure --with-php-config=php-config-zts
make -j8
make install
echo "extension=apcu.so" > /opt/php-zts/modules.d/apcu.ini
在构建模块时,您必须确保传递正确的 php-config 路径,因为默认情况下会检测到您的系统安装 PHP。
所有块引用的命令都适用于 copypasta。
于 2013-08-03T13:36:57.133 回答