Вызов date() выдает ошибку

Ruzzz

Новичок
Вызов date() выдает ошибку

У меня проблема с date() и gmdate()! Выдает ошибку:
Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for '2,0/no DST' instead in Y:\home\temp\www\admin\page-add.php on line 12
Пишу так:
PHP:
	InitDB();
	$params['date'] = date('Y-m-d H:i:s');
Если же так:
PHP:
	$params['date'] = date('Y-m-d H:i:s');
	InitDB();
То ошибки нет! Но мне нужен именно первый вариант!

InitDB():
PHP:
<?
	function InitDB() {
		include_once "../config.php";	
		$dbcnx = @mysql_connect($dbhost, $dbuser, $dbpasswd); 
		if (!$dbcnx) {
			DBErrorPage('В настоящий момент сервер БД не доступен.');
		} elseif (!@mysql_select_db($dbname, $dbcnx)) {
			DBErrorPage('В настоящий момент БД не доступна.');
		} elseif (!mysql_query("SET NAMES 'utf8'")) {
			DBErrorPage('Ошибка установки связи с БД в UTF8.');
		};
	}
?>
Думаю проблему нужно искать в config.php

config.php
PHP:
<?php
	setlocale(LC_ALL, "ru", "ru_RU");
	error_reporting(E_ALL|E_STRICT);
	mb_internal_encoding("UTF-8");

	$dbhost = 'localhost';
	$dbuser ='root';
	$dbpasswd = '';
	$dbname = 'my';
?>
Помогите, в чем проблема?

PHP:
<?   
  $loc_ru=setlocale(LC_ALL, "ru", "ru_RU");   
  echo "На этой системе локаль имеет имя '$loc_ru'";   
?>
Выдает: На этой системе локаль имеет имя 'Russian_Russia.1251'

Вот такой код уже выдает ошибку:
PHP:
<?
	error_reporting(E_ALL|E_STRICT);
	echo date('Y-m-d H:i:s');
?>
описание date_default_timezone_set() на нашел, что я делаю не так? использую setlocale() с параметром LC_ALL. Что еще нада? У меня же вообще дата по шаблону 'Y-m-d H:i:s' должна выводится, в чем тогда проблема, зачем еще какие-то настройки?

блин почему так:
PHP:
	InitDB();
	$params['date'] = date('Y-m-d H:i:s');
есть эта ошибка, а так нет:
PHP:
	$params['date'] = date('Y-m-d H:i:s');	
	InitDB();
У меня XP русская.

Вот еще код, для полноты:
PHP:
<?php
	$time_start = microtime(1);
	set_magic_quotes_runtime(0);
	
	function PrintPage($title, $body, $refresh = false) {
		header("Content-Type: text/html; charset=utf-8");
		header("Cache-Control: no-cache");
		header("Pragma: no-cache");
		header("Cache-Control: private, pre-check=0, post-check=0, max-age=0");
		if ($refresh) {
			header("Refresh: 3; URL=index.php");
		}
		echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
		echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">';
		echo '<head>';
		echo '<title>'.$title.'</title>';
		echo '<link href="main.css" rel="stylesheet" type="text/css" /></head><body>';
		echo '<div class="header">';
		echo '<a href="index.php">На главную</a>';
		if ($refresh) {
			echo ' <span class="note">(автоматически через 3 сек.)</span>';
		}
		echo ' | <a href="page-add.php">Добавить новую</a>';
		echo ' | <a href="autoincrementreset.php">AUTO_INC Reset</a>';
		echo '</div>';
		echo $body;
		
		$time_end = microtime(1);
		global $time_start;
		$time = $time_end - $time_start; 
		echo '<p>Время генерации страницы: '.$time.' секунд</p>';
		
		echo '</body>';
		echo '</html>';
	}

	function MessagePage($title, $msg, $refresh = false) {
		PrintPage($title, '<div class="Message">'.$msg.'</div>', $refresh);
	}
	
	// Функция для вывода странички с ошибкой БД
	function DBErrorPage($msg) {
		MessagePage('Ошибка БД', '<p>'.$msg.'</p><p><b>Ошибка: '.mysql_error().'<b></p>');
		exit(); 
	}
?>
-~{}~ 18.02.08 22:15:

date_default_timezone_set('Europe/Moscow'); - это команда проблему решила

Осталось не понятным почему ошибки нет до коннекта к БД, но если после то есть, но при этом в тестовом скрипте:
<?
error_reporting(E_ALL|E_STRICT);
echo date('Y-m-d H:i:s');
?>
ошибка также вылазит?
 

Beavis

Banned
чтоб не было стриктов приходится всегда date_default_timezone_set('Europe/Moscow') делать
и раз php это нужно, почему бы не написать))
 
Сверху