NGINX webserver in verkeerde tijdzone

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
Ik pieker me al een tijd suf maar op mijn linux server (ubuntu 16) staat de tijd goed, maar NGINX geeft bestanden in de UK tijdzone aan.

Als ik de tijd van een bestand in BASH uitlees krijg ik NL tijd. Lees ik de tijd uit in een PHP script (draaiend op de NGINX webserver) krijg ik NL tijd. Maar bij een NGINX directorylist worden de tijden aangegeven in UK tijd.

Iemand een idee waar je dat in NGINX in kunt stellen?

Acties:
  • +2 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Je moet niet piekeren, je moet zoeken :)

Vertel eens wat je al gedaan hebt, want via die simpele query komen er al tal van mogelijkheden, zoals deze en ook deze is plausibel. Dus dan heeft het voor mij nu niet veel zin om al die mogelijkheden te gaan herhalen om vervolgens van jou te horen dat je dat al gedaan had. ;)

[ Voor 15% gewijzigd door Room42 op 13-03-2018 07:05 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

En hoe zeker ben je dat het de UK tijd is, en niet UTC? ;) Zit een verschil in namelijk.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
Room42 schreef op dinsdag 13 maart 2018 @ 07:04:
Je moet niet piekeren, je moet zoeken :)

Vertel eens wat je al gedaan hebt, want via die simpele query komen er al tal van mogelijkheden, zoals deze en ook deze is plausibel. Dus dan heeft het voor mij nu niet veel zin om al die mogelijkheden te gaan herhalen om vervolgens van jou te horen dat je dat al gedaan had. ;)
Had ik al gelezen en geprobeerd maar blijft vrolijk op UK tijd. Ja ik bedoelde UTC zone @Hero of Time :)

In php.ini zit het niet want die scripts pakken netjes onze tijd. Het lijkt wel of ergens anders de TZ in nginx.ini overruled wordt. Maar geen idee waar.

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
theUgly schreef op dinsdag 13 maart 2018 @ 17:20:
[...]

Had ik al gelezen en geprobeerd [...]
Room42 schreef op dinsdag 13 maart 2018 @ 07:04:
Vertel eens wat je al gedaan hebt [...](anders) heeft het voor mij nu niet veel zin om al die mogelijkheden te gaan herhalen om vervolgens van jou te horen dat je dat al gedaan had. ;)
8)7

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
Haha sorry. Ik had gehoopt op een telepaat die kon zien wat ik had gedaan ;)

Maar eigenlijlk precies dat wat je zei. TZ export in nginx.ini, date.time in php en tijdzone in Ubuntu zelf.

Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
@theUgly Check je systeem timezone eens met
sudo timedatectl status | grep "Time zone"

en daarna eventueel de timezone van de user waar NGINX onder draait (ik weet niet zeker of dat werkt)
sudo su -c 'timedatectl status | grep "Time zone"' <username>

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
@ido die kende ik nog niet, bedankt. Maar helaas dit is niet de oplossing. Ik draai trouwens php7.0 fpm.

@Room42 ik krijg als resultaat 'Time zone: Europe/Amsterdam (CET, +0100)' terug. Nginx master draait onder root, de workers onder www-data.

Voor zover heb ik zones "Europe/Amsterdam" ingesteld in

in Ubuntu 16.04
- tzdata /etc/timezone

in nginx
- /etc/nginx/nginx.conf
- /etc/init.d/nginx

php
/etc/php/7.0/fpm/php.ini


ik ben er niet achter waarom nginx dan toch UTC pakt

[ Voor 32% gewijzigd door theUgly op 13-03-2018 18:36 ]


Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

theUgly schreef op dinsdag 13 maart 2018 @ 04:11:
Lees ik de tijd uit in een PHP script (draaiend op de NGINX webserver) krijg ik NL tijd.
Zit dit niet gewoon in je PHP code? Wat gebruik je precies om de tijd uit te lezen in PHP?

Gewoon date() geeft de tijd zoals gezet in http://php.net/manual/en/...-default-timezone-set.php of in de .ini setting date.timezone.

Check de PHP logging of daar toevallig een waarschuwing staat dat de timezone invalid is. Als die niet klopt, krijg je namelijk utc.

Let erop dat iets als Europe/Amsterdam case sensitive zal zijn.

Wat geeft date_default_timezone_get() terug?

[ Voor 3% gewijzigd door Rainmaker op 13-03-2018 19:04 ]

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Ik zie allerlei reacties die over PHP gaan. Hebben mensen wel de vraag goed begrepen? Want iedereen zit hier lekker tegen de verkeerde boom te blaffen. Voor het idee de samenvatting:
Goed:
- Tijd server
- PHP

Fout:
- Domme ingebouwde directory listing functie in nginx.

Dus, mensen, hoeveel heeft een dirlisting in vredesnaam met PHP te maken?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
Rainmaker schreef op dinsdag 13 maart 2018 @ 19:02:
[...]


Zit dit niet gewoon in je PHP code? Wat gebruik je precies om de tijd uit te lezen in PHP?

Gewoon date() geeft de tijd zoals gezet in http://php.net/manual/en/...-default-timezone-set.php of in de .ini setting date.timezone.

Check de PHP logging of daar toevallig een waarschuwing staat dat de timezone invalid is. Als die niet klopt, krijg je namelijk utc.

Let erop dat iets als Europe/Amsterdam case sensitive zal zijn.

Wat geeft date_default_timezone_get() terug?
PHP werkt naar behoren, ook andere programma's die met de bestanden werken (in mijn geval scripts in bash & python) werken met de juiste systeem tijd. Mijn probleem is dus ook niet critical.

Het gaat om Nginx. Nginx geeft een directory met bestanden in UTC tijden weer (een directory zonder index.html, zonder index.php, enz). Alleen de weergave is in UTC, Nginx verandert niets.


EDIT
Hero of Time schreef op dinsdag 13 maart 2018 @ 19:38:
Fout:
- Domme ingebouwde directory listing functie in nginx.
^^ Dit dus. :) Hoe komt Nginx erbij hiervoor UTC te gebruiken.

[ Voor 11% gewijzigd door theUgly op 13-03-2018 19:43 ]


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

@theUgly, met deze termen had je het toch wel kunnen vinden? Eerste hit bij Google:
Syntax: autoindex_localtime on | off;
Default:
autoindex_localtime off;
Context: http, server, location
For the HTML format, specifies whether times in the directory listing should be output in the local time zone or UTC.
Dus, als je nou gelijk de documentatie had gelezen...

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • theUgly
  • Registratie: Februari 2007
  • Laatst online: 30-05-2024
Hero of Time schreef op dinsdag 13 maart 2018 @ 19:47:
@theUgly, met deze termen had je het toch wel kunnen vinden? Eerste hit bij Google:

[...]

Dus, als je nou gelijk de documentatie had gelezen...
inderdaad :) dit werkt: autoindex_localtime on;

totaal niet aan gedacht om bij indexes te kijken. (y) Het kon niet anders dat het zoiets simpels moest zijn, al begrijp ik de keuze van de ontwikkelaars niet echt in deze.

Bedankt :) d:)b

Acties:
  • +1 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

theUgly schreef op dinsdag 13 maart 2018 @ 19:57:
totaal niet aan gedacht om bij indexes te kijken. (y) Het kon niet anders dat het zoiets simpels moest zijn, al begrijp ik de keuze van de ontwikkelaars niet echt in deze.
Vrij logisch, de kans dat de gebruiker in dezelfde tijdzone zit als de Nginx server is nogal klein.

Binnen Nederland hebben we dan toevallig maar 1 tijdzone, maar met het internet is de kans groot dat er gebruikers buiten jouw tijdzone ook de site gaan bezoeken. En dan is UTC toch een fijnere standaardinstelling

Blog [Stackoverflow] [LinkedIn]

Pagina: 1