PHP pthreads 拡張

From ArchWiki
Jump to navigation Jump to search

POSIX のマルチスレッドを使いたい場合は pthreads 拡張が必要です。pecl を使って pthreads (http://pecl.php.net/package/pthreads) 拡張をインストールする場合はスレッドセーフサポートフラグ --enable-maintainer-zts を有効にしてコンパイルされた PHP が必要になります。適切なフラグを付けてオリジナルのパッケージを再ビルドするのが一番簡単です。

php パッケージに依存しているパッケージを確認してください。例:

$ pacman -Qii php
:: php-apache: requires php
:: php-apcu: requires php
:: php-mcrypt: requires php
:: php-pear: requires php
:: php-pgsql: requires php

'php' を含む全てのパッケージを削除してください。例:

# pacman -R php php-apache php-apcu php-mcrypt php-pear php-pgsql

Arch Linux の公式パッケージリポジトリを複製:

$ cd /opt/
$ git clone git://projects.archlinux.org/svntogit/packages.git
$ cd packages/php/repos/extra-x86_64

スレッドサポートを追加するための変更を PKGBUILD に加えてください:

PKGBUILD
...
--with-xsl=shared \
--with-zlib \
--enable-maintainer-zts
...

新しいパッケージを作成:

$ makepkg -s

削除したパッケージをインストール:

# pacman -U \
php-5.5.8-1-x86_64.pkg.tar.xz \
php-apache-5.5.8-1-x86_64.pkg.tar.xz \
php-mcrypt-5.5.8-1-x86_64.pkg.tar.xz \
php-pear-5.5.8-1-x86_64.pkg.tar.xz \
php-pgsql-5.5.8-1-x86_64.pkg.tar.xz

pthreads をインストール:

# pecl install pthreads