PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘re2c’ tag

Den aktuellen Stand von PHP 7 (pre-alpha) selbst kompilieren und testen

with one comment

PHP 7 wird kommen, nach aktuellem Plan wird es Mitte Oktober 2015 soweit sein. Ich persönlich bin da noch etwas skeptisch ob das zeitlich klappen kann, aber ich hoffe dass es noch 2015 sein wird.

PHP 7 wird sehr große interne Änderungen an der Zend Engine mit sich bringen, die Performance wird ungefähr verdoppelt und dann auf dem Niveau von HHVM sein. Aber auch der Arbeitsspeicherbedarf wird radikal reduziert. Genau um letzteres zu prüfen habe ich den aktuellen PHP 7-Stand selbst kompiliert, und möchte hier zeigen dass es sehr einfach geht und ihr das auch machen solltet!

Wir werden PHP 7 aka phpng direkt aus dem GIT-Repository holen und kompilieren, folgende Schritte sind dazu nötig:

cd /tmp/
git clone https://github.com/php/php-src.git
cd php-src
./buildconf
./configure --prefix=/usr/local/phpng --with-zlib --with-config-file-path=/usr/local/phpng/etc --enable-mbstring --with-mysql --with-mysqli --with-pdo-mysql --enable-zip --with-imap --with-kerberos --with-imap-ssl --with-openssl --with-jpeg-dir --with-gd --with-gettext --with-freetype-dir --enable-ftp --with-pspell --with-curl
make
make test

Falls es Fehler beim configure bzgl. re2c oder bison gibt, unter Ubuntu installiert man diese folgendermaßen:

sudo apt-get install bison
sudo apt-get install re2c

Falls pspell nicht gefunden werden kann:

configure: error: Cannot find pspell
sudo apt-get install libpspell-dev

Nach dem „make test“ ist PHP 7 auf Kommandozeilenebene nutzbar:

$ sapi/cli/php -v
PHP 7.0.0-dev (cli) (built: Jan 20 2015 23:13:58)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

Wer PHP danach richtig installieren möchte macht noch ein „sudo make install“, dann wird PHP im oben definierten Prefix-Verzeichnis installiert.

Ich bin mir sehr sicher dass ich Mitte des Jahres, wenn es die ersten Alpha- und Beta-Versionen gibt, ausgiebig Applikationen testen werde, damit möglichst wenige Bugs in PHP 7 drin sind, und es hoffentlich bereits Ende 2015 auf Produktionsmaschinen einsetzbar sein wird. Ich sage schonmal voraus dass ich dann breit grinsend vor den Maschinen hocken werde und die neuen schnellen Webseiten und Scripte bewundern werde 😉

Im nächsten Blogartikel geht es um meinen kleinen Vergleich des Memory-Verbrauchs.

Written by Michael Kliewe

Januar 21st, 2015 at 12:54 pm

Posted in PHP

Tagged with , , , ,