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

Warning: This page is a part of an archive now and will be removed in the future.

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:

Source Code

  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=
Display All
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:

Source Code

  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:

Source Code

  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=
Display All
Schon ist auch das Problem mit dem PHP-Datum verschwunden und die Monatsnamen sollten wieder richtig angezeigt werden.
About the Author
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.

774 times read

Comments 0

There are not any items at the moment.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.