PHP PCRE-Erweiterung für Contao/TYPOlight

von Robert Scheck (Kommentare: 0)

Für die Suchmaschinen-Funktionalität des Contao Open Source CMS (vormals TYPOlight) wird die Unicode-Unterstützung der PCRE-Erweiterung in PHP benötigt. Ist diese Unicode-Unterstützung nicht gegeben, so schlägt eine Suche anschließend mit

Compilation failed: support for \P, \p, and \X has not been compiled

fehl. Bei Red Hat Enterprise Linux 5 und damit bei CentOS 5 ist diese Option standardmäßig nicht aktiviert, da der Einsatz erst in späteren Versionen von PCRE durch die Entwickler empfohlen worden ist. Man kann dieses Problem lösen, indem man PCRE beim Kompilieren um das Parameter --enable-unicode-properties erweitert, sofern PHP dynamisch gegen die PCRE-Bibliothek gelinkt ist (was bei RHEL 5 und CentOS 5 der Fall ist).

Da PCRE gelegentlich Sicherheitslücken aufweist, sollte man die Bibliothek jedoch nicht von Hand kompilieren, da sonst mögliche Sicherheitsupdates von Red Hat dies überschreiben bzw. je nach Pfad bleiben später eventuell die Sicherheitslücken von PCRE aus der eigenen Übersetzung der Bibliothek vorhanden und machen das System leicht verwundbar. Der richtige Weg ist es daher, das RPM-Paket mit der richtigen Option selbst neu zu bauen und auch selbst zu pflegen.

Um dies zu vereinfachen, haben wir unser ETES-Repository mit einem angepassten RPM-Paket der PCRE-Bibliothek erweitert; dort wurde der Parameter --enable-unicode-properties beim Kompilieren verwendet. Diese Aktualisierung ist in unserem ETES-Repository für die für den Unternehmenseinsatz optimierte Linux-Distribution Red Hat Enterprise Linux bzw. CentOS in Version 5 verfügbar.

Aktiviert wird das ETES-Repository durch die Installation des RPM-Pakets etes-release (rpm -Uvh etes-release-version.arch.rpm), welches sich im entsprechenden Unterverzeichnis, also z.B. /centos/5/i386/ für CentOS 5 mit 32 Bit oder /centos/5/x86_64/ für CentOS 5 mit 64 Bit, der oben angegebenen Adresse findet. Da sich die Paketnamen ändern können, ist hier bewusst keine direkte URL zu den RPM-Paketen verlinkt. Ist das ETES-Repository aktiviert, funktioniert die Aktualisierung wie folgt:

yum update pcre
service httpd restart

Der Neustart des Apache Webservers wird benötigt, damit die PHP-Umgebung mit den zugehörigen Bibliotheken neu in den Speicher geladen wird. Anschließend kann die Suchmaschinen-Funktionalität von Contao (vormals TYPOlight) ohne Fehlermeldungen verwendet werden.

Red Hat behandelt dieses Problem aktuell im Bugreport 457064 und schätzt, dass dieses Problem möglicherweise für Red Hat Enterprise Linux 5.4 (und damit auch CentOS 5.4) beseitigt werden kann...

Kontaktieren Sie uns

X

Sie sind Ihrer digitalen Souveränität bereits einen großen Schritt näher gekommen.

Wir freuen uns auf Ihr Interesse und Ihre Fragen.

Bitte rechnen Sie 9 plus 4.
Diese Anfrage ist für Sie unverbindlich und keine Zahlungsmittel sind notwendig.
eteslogo4

Autoren

Markus Espenhain

Unser Geschäfts­führer und Gründer ist für die Strategie und den Kontakt zu Kunden & Partnern verantwortlich. Im Blog stellt er Ihnen neue Partnerschaften und Unternehmens-News vor.

Ioannis Dimas

Datenschutz und Informationssicherheit sind seine Herzensangelegenheit. Er berät Unternehmen zu diesen Themen und kann viel dazu berichten.

Marco Welter

Als Vertriebsleiter liegt sein Schwerpunkt in dem Kontakt mit Kunden. Durch jahrelange Erfahrungen im IT Bereich kennt er alle unsere Produkte und weiß immer über Neuigkeiten Bescheid.