我正在用 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 服务器,因为我认为这可能会有所帮助,但没有成功。如前所述,它仅使用默认语言,并且在我单击任何语言切换按钮时都不会更新。在开发环境中,它完全按预期工作。我真的很感激这里可能出错的任何想法,我不知道在哪里看。
提前致谢!!莎拉。