Почему может не работать [^p^]?
На одном из сайтов не показывает время потраченное на работу скриптов, из-за чего это может быть? Постоянно 0,0000 s показывает.
Комментарии: 15
А [^t^] показывает?
Да, и кол-во запросов к базе показывает, только этот тег по нулям.
Вот еще кое-что, заморочился, скопировал весь сайт на локалку, залил базу, подправил конфиги модэкса, и тэг на локалке заработал. Хотя на сервере рядом другой сайт лежит и там тэг тоже работает. Где логика ваще(
Странно.
А вообще математика такая:
А вообще математика такая:
[^t^] = [^p^] + [^qt^]
Так что можно на крайняк и самому посчитать :)
Я понимаю, но проблему решить хочется)
Может [^t^] = [^qt^]? Поэтому [^p^] = 0.
t != qt :)
а
если нет то дело скорее всего в sprintf
[^qt^]
тоже не пашет? если нет то дело скорее всего в sprintf
Пашет. Только один нули показывает
в итоге что не нули то?
[^q^] и [^s^]
а остальное по нулям? [^t^] [^q^] [^qt^] [^s^]
— выводит[^p^]
— нет (0,0000 s)Возможно, дело в какой-то настройке в базе, что на локалке отрабатывает, а на сервере нет. Завтра еще вечерок убью на это.
Нашел проблему. В настройках modx в базе была прописана русская locale. И представить не мог, что это как-то влияет.
Кстати, почему это может быть? что на сервере надо подправить? На локальном же работает. Отваливается этот тэг если в locale установлено ru_RU.UTF-8
Вообще странно, что остальные работают. Ведь и [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);
Видимо, при русской локали оно не может вычесть одно из другого по какой-то неведомой мне причине.
$phpTime= $totalTime - $queryTime;
И это только на рабочем сервере, на локальном сервере работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.