【问题标题】:PHP Syntax Error Appearing after moving Servers [duplicate]移动服务器后出现PHP语法错误[重复]
【发布时间】:2015-07-12 12:43:24
【问题描述】:

自从我迁移到 Apache 2 CentOS 后,就出现了这个语法错误。

[Sat May 02 17:34:46 2015] [error] [client *] PHP Parse error: syntax error, unexpected '[' in /var/www/html/index.php on line

源代码可以在下面找到,我已经注释了发生错误的地方:

require('roblox.php');
$config = require('config.php');
/*if (isset($_GET['cookie'])){
    echo (new RBXLim)->get_cookie();
    return;
}*/
$page = isset($_GET['page']) ? $_GET['page'] : false;
$rbxlim = new RBXLim;
$connection = $rbxlim->get_connection();
var_dump($connection);
session_start();
if (!isset($_SESSION['session'])){
    $_SESSION['session'] = md5(microtime().rand());
}
if (isset($_SESSION['logged_in'])){
    $_SESSION['premium'] = $connection->query("SELECT premium FROM registered WHERE user_id=" . $_SESSION['user_id'])->fetch_assoc()['premium']; // this is where the error occurs
}

我已经在我的个人机器上运行了 PHP 代码,它运行良好,但是当我在我的 VPS 上运行它时出现错误。

你们中有人遇到过这种情况吗?

【问题讨论】:

  • 查看PHP版本
  • 您的原始服务器可能是 PHP 5.4+,您的新服务器似乎是 PHP

标签: php apache centos


【解决方案1】:

PHP 支持将返回值的数组取消引用为 of PHP 5.4 only:

从 PHP 5.4 开始,可以直接对函数或方法调用的结果进行数组取消引用。以前只能使用临时变量。

您的 VPS 可能运行 PHP 5.3 或更低版本。你应该升级它,就像PHP 5.3 is EOL

【讨论】:

  • 是的。这似乎是问题所在。我会尽快将您的答案标记为正确。 (我在 VPS 上有 5.3 版本。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 2016-06-11
  • 2012-06-05
  • 1970-01-01
  • 2016-02-28
  • 2015-10-08
相关资源
最近更新 更多