Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PowerCounter: ошибка Duplicate entry

Сообщения:  [1-10]   [11-20] 

 
 автор: vialis   (06.02.2012 в 18:31)   письмо автору
 
   для: cheops   (06.02.2012 в 18:08)
 

Все заработало! Насчет сдвига поясов - верно подмечено - нужно было заменить на соседний часовой пояс. Огромное Вам спасибо за помощь!!

  Ответить  
 
 автор: cheops   (06.02.2012 в 18:08)   письмо автору
 
   для: vialis   (06.02.2012 в 17:52)
 

Вы можете без php.ini изменить часовой пояс, просто эта настройка будет производиться всякий раз при выполнении PHP-скрипта. Так как в каждом файле вызывается config.php, лучше сделать это через него, для этого, добавьте в него строку
<?php
 
@date_default_timezone_set("Asia/Novosibirsk");
?>

PS Только обязательно поэксперементируйте, так как из-за отмены летнего времени все российские пояса сместились, компьютерщики наоборот зимнее время переводят. Поэтому если у вас библиотека ответственная за часовой пояс PHP не обновилась (а судя по всему это и является причиной разницы), то возможно вам придется указать не свой часовой пояс, а соседний... мы например вместо Москвы сейчас Баку указываем (возможно и вам придется что-то в этом духе сделать).

  Ответить  
 
 автор: vialis   (06.02.2012 в 17:52)   письмо автору
 
   для: cheops   (06.02.2012 в 14:37)
 

К сожалению, прямого доступа к этому файлу нет - придется договариваться через провайдера. Подскажите, а если для PHP в настоящее время установлен регион "Asia/Novosibirsk" (что по идее должно соответствовать нашему часовому поясу однако - судя по тестам, проведенным с Вами выдает значение меньше на час почему-то), а в phpmyadmin для MySQL выводит параметр SYSTEM - нельзя ли произвести изменения именно в phphmyadmin?

  Ответить  
 
 автор: cheops   (06.02.2012 в 14:37)   письмо автору
 
   для: vialis   (06.02.2012 в 13:21)
 

Тогда в конфигурационный файл config.php нужно добавить строку, подобрав нужный часовой пояс, чтобы значения в MySQL и в PHP у вас сравнялись (если есть доступ к php.ini это можно сделать для всего сервера при помощи директивы date.timezone в секции [Date])
  @date_default_timezone_set("Europe/Moscow");

  Ответить  
 
 автор: vialis   (06.02.2012 в 13:21)   письмо автору
 
   для: cheops   (06.02.2012 в 12:56)
 

Правильное время, соответствующее нашему региону, указано во второй строке - я так понимаю это MySQL.

  Ответить  
 
 автор: cheops   (06.02.2012 в 12:56)   письмо автору
 
   для: vialis   (06.02.2012 в 12:34)
 

Нужно, чтобы у них время было одинаково, какое правильно? В PHP или в MySQL?

  Ответить  
 
 автор: vialis   (06.02.2012 в 12:34)   письмо автору
 
   для: cheops   (06.02.2012 в 11:28)
 

Действительно было упущение - разница составила 1 час:
2012-02-06 14:22:07
2012-02-06 15:22:07

  Ответить  
 
 автор: cheops   (06.02.2012 в 11:28)   письмо автору
 
   для: vialis   (06.02.2012 в 07:24)
 

Все-таки что-то со временем, не хватает трех часов (если это так, то проблему мы, конечно решим довольно быстро). Чтобы проверить, давайте заменим предыдущий код следующим, что он возвращает?
    echo date("Y-m-d H:i:s")."<br />";
    $query = "SELECT NOW() FROM DUAL";
    echo query_result($query)."<br />";
    exit();

  Ответить  
 
 автор: vialis   (06.02.2012 в 07:24)   письмо автору
 
   для: cheops   (03.02.2012 в 18:25)
 

Прошу прощения за задержку с ответом - после размещения кода возвращает следующие значения:
"last_day = 1328378402
begin_day = 1328029200
month = 1"

  Ответить  
 
 автор: cheops   (03.02.2012 в 18:25)   письмо автору
 
   для: vialis   (03.02.2012 в 18:13)
 

Если вам не сложно, то, пожалуйста, найдите файл dmn/system_powercounter/utils.client.php. В этом файле три функции, сбой происходит в последней, которая несет ответственность за архивацию месячных данных
  function archive_clients_month($tbl_arch_clients, $tbl_arch_clients_month)
Перед условием
    if ($month > 0)
пожалуйста разместите следующий код
    echo "last_day = $last_day<br />";
    echo "begin_day = $begin_day<br />";
    echo "month = $month<br />";
    exit();
и сообщите что он возвращает?

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования