Aktionen

Ubuntu 12.04 LTS - PHP intl PECL-Erweiterung nachinstallieren

Aus znilwiki

Mediwiki meckert bei einer neuinstallation das Fehlen der intl-Erweiterung an:

Warnung: Die PECL-Erweiterung intl ist für die Unicode-Normalisierung nicht verfügbar, so dass stattdessen die langsame pure-PHP-Implementierung genutzt wird.

Nun, dann Installieren wir die eben schnell nach:

apt-get install php5-intl


Falls Ihr da dann folgende Fehlermeldung bekommt:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
php5-intl : Hängt ab von: libicu44 (>= 4.4.1-1) ist aber nicht installierbar
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.

Fehlergrund:

  • Die libicu44 ist und kann nicht installiert werden weil schon die libicu48 oder höher installiert ist.
  • Eure Quellen haben gerade die Standard-Quellen und ggf. die DebDot-Quellen drin - und da ist kein passendes php5-intl' Paket drin.

Scheisse, und nun?

Der entscheidene Tipp fand sich hier: http://ibeblog.com/2013/01/21/installing-pecl-intl-ubuntu-12-04/ Die Lösung holt sich einfach die Quellen für die Installation (also den Source-Code) und übersetzt sich das Ganze dann selbst.

Hier hat Ihr die Befehle wie ich diese für meinen Server anpassen musste (so ganz konnte ich es nicht übernehmen):

apt-get install gcc libicu-dev php5 php5-dev php-pear build-essential --no-install-recommends
pecl install intl

Im Anschluss müsst Ihr dann noch die Erweiterung in die php.ini eintragen!
Ich habe hier einen Server mit Plesk, deshlab sind es ggf. mehr als bei euch - die nicht da sind lasst Ihr halt weg. Ohne Plesk sollte es ggf. nur eine einzige sein.

nano /etc/php5/apache2/php.ini
nano /etc/php5/cgi/php.ini
nano /etc/php5/cli/php.ini

sucht jeweils die Zeilen

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

und fügt darunter folgende Zeile ein:

extension=intl.so

Danach ein

service apache2 restart

und es läuft.
Sollte euer Server mit Plesk laufen so scheint er das für die vorhandenen Webseiten nicht zu übernehmen.
Grund ist das man in Plesk ja für jede Webseite eigene PHP-Einstellungen vornehmen kann (an sich eine tolle Sache).
Damit er nun dies von der globalen Datei übernimmt muss man in den PHP-Einstellungen der Webseite in Plesk einen Werte ändern (und gerne auch wieder gleich zurück).
Dann erzeugt er die php.ini für die jeweilige Seite neu.


--Bernhard Linz 20:34, 15. Jul. 2014 (CEST)


Loading comments...