2013-11-28 76 views
1

我在PHP文件的开头这段代码:为什么此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 

我确信,卷曲安装在机器上。我可以提供任何额外的信息,只需要问!

如何让它工作?

回答

4

不同版本的PHP是你的问题。它运行的是运行PHP 5.4或更新的版本。另一个运行5.3或更高版本。实例化之后的类成员访问((new Object)->method())在PHP 5.4之前不可用。

+0

果然 - 我的本地机器上有5.3.10。谢谢! – Undo

相关问题