我在.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。我可以提供所需的任何额外信息,只需询问!
如何让它发挥作用?
答案 0 :(得分:4)
不同版本的PHP是您的问题。它的工作原理是运行PHP 5.4或更高版本。另一个是5.3或更老。实例化((new Object)->method()
)上的类成员访问在PHP 5.4之前不可用。