Многоязычный веб-сайт с PHP не работает на живых серверах, только Vagrant - PullRequest
0 голосов
/ 01 ноября 2018

Я создаю многоязычный веб-сайт на PHP и прекрасно его использую в моем блоке Vagrant, меняя тексты в соответствии с переменной $ SESSION [lang], загружаю сайт на живой сервер, и вдруг язык не меняется более того, он просто придерживается языка по умолчанию.

Вот код, который я использовал для предоставления сайту соответствующих языковых файлов, которые включают связанные массивы с текстами, которые я хочу использовать на каждом языке:

<?php
ob_start();

if(!isset($_SESSION)) {
    session_start();
}


// language switch 

if (!isset($_SESSION['lang']))
    $_SESSION['lang'] = "en";
else if (isset($_GET['lang']) && ($_SESSION['lang'] != $_GET['lang']) && !empty($_GET['lang'])) {
    if ($_GET['lang'] == "en")
        $_SESSION['lang'] = "en";
    else if ($_GET['lang'] == "es")
        $_SESSION['lang'] = "es";
    else if ($_GET['lang'] == "de")
        $_SESSION['lang'] = "de";
}

require_once ('content/language/' . $_SESSION['lang'] . '.php');

У меня есть два разных сервера в разработке и производстве, я не знаю, идеально. Мой бродячий ящик: Ubuntu Xenial 64 с PHP 7.0.32 и Apache 2.4.18

Я обновил свой Live Server сегодня, чтобы: Centos 6.10 с PHP 7.1 и Apache 2.4

После обновления я перезапустил сервер apache, потому что подумал, что это может помочь, но безуспешно. Как уже упоминалось, он просто придерживается языка по умолчанию и не обновляется, когда я нажимаю на любую из кнопок переключения языка. В среде разработки он работал точно так, как ожидалось. Я был бы очень признателен за любые идеи, что может пойти не так, я не уверен, где искать.

Спасибо заранее !! Сара.

1 Ответ

0 голосов
/ 02 ноября 2018

Хорошо, я наконец выяснил причину, на случай, если это случится с кем-то еще, у меня был комментарий в начале моей страницы до

ob_start(); 

и код начала сеанса.

Проблема была исправлена, если поместить это как первое в мой файл, без пробела, ничего перед ним. Обнаружил это, читая другие темы здесь.

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...