apache — браузеры получают разный (вывод php) контент из одной и той же сети

Я не знаю, как это объяснить (см. Заголовок …), но один браузер получает другой вывод php, чем другой.

У меня есть следующий HTML / PHP код:

<p><?= $lang->getW('t1_title') ?></p>

Это должно напечатать некоторый текст. В Firefox я прекрасно вижу этот текст (и это подтверждается через irc, то есть и по краям). Но браузеры, такие как Chromium (и chrome) и Opera, не отображают текст, а отображают код между кавычками:

<p>t1_title</p>

На тот случай, если это как-то связано со стороной сервера: функция пытается получить текст из memcached или из базы данных (сохраняя его в memcached в следующий раз), поэтому в конце она возвращает строку, соответствующую этому идентификатору. (t1_title в этом случае)

Функциональный код:

public function getW($word, $array = NULL) {
$sql = TRUE;

if ($this->cacheAvailable) {
$text = $this->memCached->get("en_$word");

if ( FALSE !== $text ) {
$sql = FALSE;
$word = $text;
}
}

if ( TRUE === $sql ) {
$mysqli = $this->aet->getAetSql();

if ($stmt = $mysqli->prepare('SELECT * FROM locales_en WHERE name = ? LIMIT 1')) {
$stmt->bind_param('s', $word);
$stmt->execute();
$stmt->store_result();

$word = FALSE;

if ($stmt->num_rows === 1) {
$stmt->bind_result($id, $name, $text);
$stmt->fetch();

$text = nl2br($text);
$this->memCached->set("en_$word", $text);
$word = $text;
}
}
}

if ( NULL !== $array && FALSE !== $word ) {
$word = $this->getVar($word, $array);
}

return $word;
}

Изменить: решение состоит в том, чтобы никогда не забывать использовать код отладки, как:

echo $mysqli->error;

для развития.

Но я только что заметил, что загрузил только 1 таблицу локалей, а не остальные (locales_es, locales_fr и т. Д.). Так вот что было бы сообщение об ошибке: таблица locales_xx не существует.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector