PHP-Datum nur in Zahlen / englische Monatsnamen - keine deutschen

Achtung: Diese Seite ist nur noch Teil eines Archivs und wird in Zukunft entfernt.

Möglicherweise muss man seinen Webserver neu installieren, auf dem ein paar Websites laufen. In diesem Falle beschreibe ich ein Problem bzw. den entsprechenden Lösungsweg unter Debian (Squeeze).

Das Problem ist, dass nach einer Neuinstallation und -konfiguration das Datum, das mit PHP generiert wird, nicht mehr so aussieht: 01. Januar 2011, sondern so: 01.01.2011 oder so: 01. January 2011. Das mag viele nicht stören, manche aber doch und als Administrator sollte so etwas stören, da es bedeutet, dass eine Funktion nicht vollständig ist. Dies ist keine Einstellung in PHP, wie ich erfahren habe, sondern hat mit der Sprache zu tun, die im System selbst festgelegt wurde. Im ersten Fall ist gar keine Sprachregion angegeben, im zweiten Fall die englische, z.B. en_US.

Um dies ändern zu können, benötigt man Zugriff über SSH auf den Webserver. Über den Befehl locale erhält man die momentan eingestellte Sprache:

Quellcode

  1. root@vKittBlog:# locale
  2. LANG=
  3. LC_CTYPE="POSIX"
  4. LC_NUMERIC="POSIX"
  5. LC_TIME="POSIX"
  6. LC_COLLATE="POSIX"
  7. LC_MONETARY="POSIX"
  8. LC_MESSAGES="POSIX"
  9. LC_PAPER="POSIX"
  10. LC_NAME="POSIX"
  11. LC_ADDRESS="POSIX"
  12. LC_TELEPHONE="POSIX"
  13. LC_MEASUREMENT="POSIX"
  14. LC_IDENTIFICATION="POSIX"
  15. LC_ALL=
Alles anzeigen
Bedeutend ist hier nur die erste Zeile der Ausgabe, also LANG=. In diesem Falle ist der Wert nicht angegeben, also wurde auch keiner eingestellt. Es kann im zweiten Fall würde es vermutlich so dastehen: LANG=en_US.UTF-8. Auch die nachfolgenden Variablen hätten diesen Wert anstatt "POSIX" (mit Ausnahme der LC_ALL= ganz unten).

Um es zu ändern, reicht der einfache Befehl dpkg-reconfigure locales. Allerdings muss dafür das Paket "locales" installiert sein, ansonsten bekommt man folgende Ausgabe:

Quellcode

  1. root@vKittBlog:# dpkg-reconfigure locales
  2. Package `locales' is not installed and no info is available.
  3. Use dpkg --info (= dpkg-deb --info) to examine archive files,
  4. and dpkg --contents (= dpkg-deb --contents) to list their contents.
  5. /usr/sbin/dpkg-reconfigure: locales is not installed
Also muss das Paket erst einmal mit dem Befehl aptitude install locales installiert werden.

Ist es das dann, kann man nochmals den Befehl dpkg-reconfigure locales eingeben. Es erscheint eine Oberfläche, in der man sich durch alle verfügbaren Sprachen durchscrollen kann. Bei der Auswahl sollte man die dabei oben stehenden Hinweise beachten, also am besten immer UTF-8 nutzen. Scrollen selbst kann man mit den Pfeiltasten, mit der Leertaste wählt man die gewünschte(n) Sprache(n) aus, mit Enter bestätigt man und mit der Esc-Taste bricht man ab. Sofern man die gewünschte Sprache mit der Leertaste gewählt hat, sollte nun ein * zwischen den [ ] erscheinen.

Nach dem Abspeichern muss man sich nochmals neu verbinden, also den SSH-Client einmal schließen. Danach überprüft man nochmals mit dem Befehl locale die Sprachen. Es sollte bei gewähltem de_DE.UTF-8 UTF-8 folgendes erscheinen:

Quellcode

  1. root@vKittBlog:~# locale
  2. LANG=de_DE.UTF-8
  3. LC_CTYPE="de_DE.UTF-8"
  4. LC_NUMERIC="de_DE.UTF-8"
  5. LC_TIME="de_DE.UTF-8"
  6. LC_COLLATE="de_DE.UTF-8"
  7. LC_MONETARY="de_DE.UTF-8"
  8. LC_MESSAGES="de_DE.UTF-8"
  9. LC_PAPER="de_DE.UTF-8"
  10. LC_NAME="de_DE.UTF-8"
  11. LC_ADDRESS="de_DE.UTF-8"
  12. LC_TELEPHONE="de_DE.UTF-8"
  13. LC_MEASUREMENT="de_DE.UTF-8"
  14. LC_IDENTIFICATION="de_DE.UTF-8"
  15. LC_ALL=
Alles anzeigen
Schon ist auch das Problem mit dem PHP-Datum verschwunden und die Monatsnamen sollten wieder richtig angezeigt werden.
Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

761 mal gelesen

Kommentare 0

Es wurden keine Einträge gefunden.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen