• 26.08.2025, 14:35
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Anisachse

God

PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 12:30

Hi ihr..
ich hab hier mal wieder ein sehr lustiges Problem.
Und zwar läuft hier ein Apache/php5 gespann auf einem englischem Windows, blöderweise spuckt php dadurch auch ein englisch formatiertes Datum aus..

Suche jetzt schon eine geschlagene Stunde wie ich das per config auf deutsch umstellen kann.

Weiß da jemand weiter?


edith sagt: was ich vergessen habe, auf einem deutschen winxp laufen die scripte auf deutsch.. system ist auch umgestellt auf deutsch

Y0Gi

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 14:20

Unter Linux mit Python ist es so, dass ich auf dem System die entsprechenden deutschen Locales erzeugen und im Code die jeweilige (z. B. 'de_DE') auswählen muss. Vielleicht hilft dir das weiter.

Nachtrag: Mit PHP isses etwa ``setlocale(LC_ALL, 'de_DE');``. Schau dir die Doku, die Kommentare und Windows-Hinweise an. Ob man auf einem englischen Windows die deutschen Locales hinbekommt, weiß ich nicht genau - wäre aber traurig wenn nicht.

Beachte außerdem, dass die verwendete Sprache deiner Datumsausgaben zwischen Deutsch und Englisch schwanken kann, wenn du mehrere Anwendungen auf einem Webserver laufen lässt, der Threads verwenden. Da PHP-Anwendungen in der Regel nicht threadsicher programmiert werden, bedeutet das Spaß. Finde heraus, ob der Apache (den IIS verwendest du hoffentlich nicht) unter Windows Preforking benutzt/kann. Unter Debian und Ubuntu ist es bspw. so, dass man mod_php nur mit den Prefork- oder ITK-MPMs installieren kann, nicht aber z. B. dem Worker-MPM.

Anisachse

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 14:38

ok. ein selbstgeschriebenes Script läuft jetzt mit deutschen Datum.
nur liegen auf dem Server Scripte von jemand anderes, also wäre es schön wenn man das, für die ganze php Umgebung einstellen könnte.

weißt du da was?


das selbstgebastelte script macht nichts anderes als:

setlocale (LC_ALL, 'deu');
echo strftime("%d. %B %Y");

Y0Gi

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 15:08

Locales sind nicht threadsicher und so ein Aufruf wirkt sich auf den gesamten Prozess aus. Das lässt sich eben verhindern, wenn der Server mehrere Prozesse und keine Threads verwendet (s. o.).

Anisachse

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 15:09

darum gehts mir nicht, das hab ich schon verstanden.

ich will die komplette umgebung auf deutsch umstellen.
also nicht über den code sondern über die php.ini oder sonst wo

Y0Gi

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 16:23

Dann schau dir die Doku zu der Konfigurationsdatei an, die hab' ich nicht im Kopf.

Anisachse

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 16:35

jop, hab ich schon
php.ini
aber da ist nichts interessantes zu dem Thema drin :/

Y0Gi

God

Re: PHP Datumausgabe auf englischen Windows

Freitag, 10. Oktober 2008, 16:44

Dann geht es vermutlich nicht. Möglicherweise kannst du in der Apache-Konfiguration mit ``SetEnv`` eine entsprechende Umgebungsvariable (``$LANG``?) setzen, damit PHP sich daran hält.

Aber Vorsicht: Dennoch dürfe ein expliziter ``setlocale()``-Aufruf das überschreiben. Sofern da aber nur deine eigene Anwendung läuft und z. B. kein phpMyAdmin oder PHP-Webmail, sollte das Problem ja nicht bestehen.

Anisachse

God

Re: PHP Datumausgabe auf englischen Windows

Sonntag, 12. Oktober 2008, 16:11

ok, werd ich mal suchen und ausprobieren