Die Fähigkeit zur Verwendung mehrerer Prozessorkerne ist mit der Erscheinung von pthreads vor ca. einem Jahr auch in der PHP-Welt angekommen. Um dieses Paket nutzen zu können, muss jedoch PHP unter Verwendung bestimmter Parameter selbst kompiliert und installiert werden. Das notwendige Vorgehen zum Aufbau dieser Umgebung wird in diesem Beitrag beschrieben. Getestet wurde das Vorgehen mit PHP 5.5.5 und Ubuntu 12.0.4.
1. Installation einiger Dependencies (in Ahnlehnung an: Developer in charge)
apt-get install \ libxml2 \ libxml2-dev \ libssl-dev \ pkg-config \ curl \ libcurl4-nss-dev \ enchant \ libenchant-dev \ libjpeg8 \ libjpeg8-dev \ libpng12-0 \ libpng12-dev \ libvpx1 \ libvpx-dev \ libfreetype6 \ libfreetype6-dev \ libt1-5 \ libt1-dev \ libgmp10 \ libgmp-dev \ libicu48 \ libicu-dev \ mcrypt \ libmcrypt4 \ libmcrypt-dev \ libpspell-dev \ libedit2 \ libedit-dev \ libsnmp15 \ libsnmp-dev \ libxslt1.1 \ libxslt1-dev \ checkinstall \ autoconf
2. Download des PHP Source (hier gehts zu den Versionen)
wget http://us3.php.net/get/php-5.5.5.tar.bz2/from/de3.php.net/mirror -O php.tar.bz2
3. Extraktion des PHP Source
tar xvjf php.tar.bz2
4. Konfiguration und Kompilieren des PHP Source + Installation
cd php-5.5.5 ./configure --enable-debug --enable-maintainer-zts --enable-pthreads make checkinstall
5. Kopieren der php.ini und Einstellung von PEAR und PECL, sowie Installation von pthreads
cp php.ini-production /usr/local/lib/php.ini pear config-set php_ini /usr/local/lib/php.ini pecl config-set php_ini /usr/local/lib/php.ini pecl install pthreads
Das war es eigentlich auch schon und es kann losgehen. Die PHP-Referenz zur pthreads findet ihr hier. Darüber hinaus kann ich euch noch eine schöne kurze Einführung in pthreads von PHP Gangsta empfehlen, sowie ein paar weitere Beispiele hier. Und dann noch einige Hinweise für die Einrichtung unter Windows.