Почему может не работать [^p^]?

На одном из сайтов не показывает время потраченное на работу скриптов, из-за чего это может быть? Постоянно 0,0000 s показывает.
Дмитрий Иванов
06 апреля 2015, 18:02
modx.pro
1 187
0

Комментарии: 15

Сергей Шлоков
06 апреля 2015, 22:01
0
А [^t^] показывает?
    Дмитрий Иванов
    06 апреля 2015, 22:03
    0
    Да, и кол-во запросов к базе показывает, только этот тег по нулям.
    Дмитрий Иванов
    06 апреля 2015, 22:08
    0
    Вот еще кое-что, заморочился, скопировал весь сайт на локалку, залил базу, подправил конфиги модэкса, и тэг на локалке заработал. Хотя на сервере рядом другой сайт лежит и там тэг тоже работает. Где логика ваще(
    Володя
    07 апреля 2015, 00:06
    0
    а
    [^qt^]
    тоже не пашет?
    если нет то дело скорее всего в sprintf
      Дмитрий Иванов
      07 апреля 2015, 00:11
      0
      Пашет. Только один нули показывает
        Володя
        07 апреля 2015, 00:21
        0
        в итоге что не нули то?
        [^q^] и [^s^]
        а остальное по нулям?
          Дмитрий Иванов
          07 апреля 2015, 00:39
          0
          [^t^] [^q^] [^qt^] [^s^]
          — выводит
          [^p^]
          — нет (0,0000 s)

          Возможно, дело в какой-то настройке в базе, что на локалке отрабатывает, а на сервере нет. Завтра еще вечерок убью на это.
      Дмитрий Иванов
      07 апреля 2015, 12:42
      0
      Нашел проблему. В настройках modx в базе была прописана русская locale. И представить не мог, что это как-то влияет.
        Дмитрий Иванов
        07 апреля 2015, 12:55
        0
        Кстати, почему это может быть? что на сервере надо подправить? На локальном же работает. Отваливается этот тэг если в locale установлено ru_RU.UTF-8
          Сергей Шлоков
          07 апреля 2015, 16:31
          0
          Вообще странно, что остальные работают. Ведь и [t] и [p] и [qt] оформляются одинаково —
          $totalTime= (microtime(true) - $this->modx->startTime);
          $queryTime= $this->modx->queryTime;
          $queryTime= sprintf("%2.4f s", $queryTime);
          $queries= isset ($this->modx->executedQueries) ? $this->modx->executedQueries : 0;
          $totalTime= sprintf("%2.4f s", $totalTime);
          $phpTime= $totalTime - $queryTime;
          $phpTime= sprintf("%2.4f s", $phpTime);
          $source= $this->modx->resourceGenerated ? "database" : "cache";
          $this->modx->resource->_output= str_replace("[^q^]", $queries, $this->modx->resource->_output);
          $this->modx->resource->_output= str_replace("[^qt^]", $queryTime, $this->modx->resource->_output);
          $this->modx->resource->_output= str_replace("[^p^]", $phpTime, $this->modx->resource->_output);
          $this->modx->resource->_output= str_replace("[^t^]", $totalTime, $this->modx->resource->_output);
          $this->modx->resource->_output= str_replace("[^s^]", $source, $this->modx->resource->_output);
            Дмитрий Иванов
            07 апреля 2015, 17:19
            0
            Видимо, при русской локали оно не может вычесть одно из другого по какой-то неведомой мне причине.
            $phpTime= $totalTime - $queryTime;
            И это только на рабочем сервере, на локальном сервере работает.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        15