php - 为什么这段 PHP 代码在一台机器上运行而在另一台机器上失败?

标签 php ubuntu syntax-error

我在 .php 文件的开头有这段代码:

<?php

$url = 'https://api.stackexchange.com/2.1/info';
$data = array("site" => 'space', "key" => "T1h2I3s4I5s6M7y8A9p0I1k2E3y!");

$response = (new Curl)->exec($url . '?' . http_build_query($data), [CURLOPT_ENCODING => 'gzip']); 
// ^^ Line 6 ^^

$obj = json_decode($response);
$timestamp = date("Y:m:d H:i:s");

$dbhost = "localhost";
$dbname = "statengine";
$dbuser = "statengine";
$dbpass = "#P1aSs3WoR5d!";

mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());  
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error()); 

当我在远程 Ubuntu 12.04 服务器上运行它时,它运行良好。但是当我在本地服务器(再次是 Ubuntu 12.04)上运行它时,它会失败并出现以下错误:
$ php getstats.php 
PHP Parse error:  syntax error, unexpected T_OBJECT_OPERATOR in /home/<me!>/Desktop/statengine/getstats.php on line 6

我已经确保机器上安装了 CURL。我可以提供任何需要的额外信息,请问!

我如何使它工作?

最佳答案

不同版本的 PHP 是您的问题。它的工作原理是运行 PHP 5.4 或更新版本。另一个运行 5.3 或更高版本。实例化的类成员访问 ((new Object)->method()) 直到 PHP 5.4 才可用。

关于php - 为什么这段 PHP 代码在一台机器上运行而在另一台机器上失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20256042/

相关文章:

javascript - 为什么 00.0 会导致语法错误?

php - 解析错误: syntax error, unexpected T_OBJECT_OPERATOR, expecting ')' [closed]

php - 检索传递的 ID

php - 记录没有保存到数据库中使用 php 在 android

java - Apache Kafka 生产者错误 : Failed to send message after 3 tries

java - Ubuntu 下使用 JNI 在 IntelliJ 中包含 native c++ .so 库

python - Django 1.7 Pillow 和 PIL 都无法导入 : No module named Image

vb.net - 在 VB.net 中的赋值左侧使用 LINQ 查询

jquery - NGINX/PHP-FPM : Ajax slow first request, 好的下一个

php - 根据登录隐藏和显示 div