Jump to content
Sign in to follow this  
crelix

SET DEFAULT TIME ZONE

Recommended Posts

Sveiki, kā jau iepriekš biju ielicis postu, man ir problēmas ar vairākām lietām, kas gāja uz localhost un neiet uz hosta. Tad nu pēdējā man nesaprotamā lieta ir date_default_timezone_set, jo uz hosta nedarbojas.

 

if(isset($userRow['timezone'])) {
		date_default_timezone_set($userRow['timezone']);
	}elseif(isset($_COOKIE['timeZone'])) {
		date_default_timezone_set($_COOKIE['timeZone']);
	}else{
		date_default_timezone_set("Europe/Riga");
	}

 

Pēc būtības vajadzētu būt Europe/Riga laika zonai, vai tai, kuru lietotājs ir izvēlējies, tomēr <?php echo date_default_timezone_get(); ?> izvada : UTC

 

Share this post


Link to post
Share on other sites

Pierubij kaut vai to pašu var_dump un skaties, kur kādas vērtības un ej uz augšu, pa koku, līdz atrodi problēmu.

Visdrīzāk tev ir uzsetots kookie vai ir vērtība rowā, kā arī šāda lieta būtu jāliek kā pirmā/ viena no pirmajām, ko inicializē.

Pārbaudi, kur, kā un vai pareizi vispār saglabā lietotāja laika zonu, kā arī izveido cepumu ar laika zonu, jo problēma 100% būs tur.

Edited by Chewie

Share this post


Link to post
Share on other sites
41 minutes ago, Chewie said:

Pierubij kaut vai to pašu var_dump un skaties, kur kādas vērtības un ej uz augšu, pa koku, līdz atrodi problēmu.

Visdrīzāk tev ir uzsetots kookie vai ir vērtība rowā, kā arī šāda lieta būtu jāliek kā pirmā/ viena no pirmajām, ko inicializē.

Pārbaudi, kur, kā un vai pareizi vispār saglabā lietotāja laika zonu, kā arī izveido cepumu ar laika zonu, jo problēma 100% būs tur.

1.inicializēju pašu pirmo.

2.lietotāja laika zona saglabājas mysql db un ir pareiza. 

3.cookie tiek ņemts tikai tad, ja lietotājs nav ielogojies profilā.

Share this post


Link to post
Share on other sites
13 minutes ago, crelix said:

1.inicializēju pašu pirmo.

2.lietotāja laika zona saglabājas mysql db un ir pareiza. 

3.cookie tiek ņemts tikai tad, ja lietotājs nav ielogojies profilā.

Bet vai tu katrā if statementā ieliki var dump, lai paskatītos, kurš variants izpildās?

Share this post


Link to post
Share on other sites
30 minutes ago, Chewie said:

Bet vai tu katrā if statementā ieliki var dump, lai paskatītos, kurš variants izpildās?

Uz localhost gāja viss čotka.

Bet te neizpildās neviens variants, jo UTC nekur netiek uzstādīts. 

Dīvaini arī tas, ka meiģināju uzlikt default timezone caur php.ini, un izvadīja tāpat UTC

Vēlāk izmeiģināšu un padošu ziņu, tagad darbā vienkārši.

Edited by crelix

Share this post


Link to post
Share on other sites
54 minutes ago, crelix said:

Uz localhost gāja viss čotka.

Bet te neizpildās neviens variants, jo UTC nekur netiek uzstādīts. 

Dīvaini arī tas, ka meiģināju uzlikt default timezone caur php.ini, un izvadīja tāpat UTC

Vēlāk izmeiģināšu un padošu ziņu, tagad darbā vienkārši.

Debugs būs tavs labakais draugs, jo neviens to tavā vietā neatrisinās :) ja kaut ko maini konfigā, atceries restartēt apache/php/nginx

Share this post


Link to post
Share on other sites
17 hours ago, .bRass said:

Kura php versija ir uz servera?

PHP Version 5.6.32

Testēju ar var_dump():

echo var_dump($userRow['timezone']). "</br>";
echo var_dump($_COOKIE['timeZone']). "</br>";
echo var_dump(date_default_timezone_get());

Un rezultāts:

string(11) "Europe/Riga" 
string(12) "Africa/Accra" 
string(3) "UTC"

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.