Добро пожаловать, Гость ( Вход | Регистрация )



Часовой пояс: UTC + 6 часов



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка связанная с функцией random()
СообщениеДобавлено: 12 май 2014, 15:21 

Зарегистрирован: 13 мар 2014, 21:18
Сообщений: 8

Не в сети
Проблема нарисовалась при изучении поля Ход работы отображения документа внизу. В событиях где есть возможность развернуть, разворачивался всегда верхний. Оказалось, что функция random() генерирует одно и тоже значение, видимо связано с тем, что она от времени рассчитывает, а быстродействие сервера укладывается в минимальный промежуток отсчета microtime().
Модификация ниже восстановила работоспособность, но сложно сказать насколько она повлияет на другие использования в системе и какие нарушения прав последовали при изменении исходного кода...

public static function random($iLength)
{
// $sResult = '';
// $iCount = ceil(abs($iLength)/32) + 1;
// list($t1, $t2) = explode(' ', microtime());
// $sSource = $t1 . $t2 . mt_srand((float) $t1 + ((float) $t2 * 100000));
// return self::hash($sSource, $iLength);
return substr(md5(rand()), 0, $iLength);

}


 Профиль  
 
 Заголовок сообщения: Re: Ошибка связанная с функцией random()
СообщениеДобавлено: 24 мар 2015, 12:16 
Аватар пользователя

Зарегистрирован: 30 окт 2014, 17:29
Сообщений: 168

Не в сети
столкнулся с той же бедой.
лечится так: в файле documentLog.xsl заменяем @timestamp функцией generate-id()
это функция тупо генерит рандомные числа и всё работает


 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 6 часов


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: