我在 .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/