elasticsearch,Php,elasticsearch" /> elasticsearch,Php,elasticsearch" />

Elasticsearch PHP应用程序不工作

Elasticsearch PHP应用程序不工作,php,elasticsearch,Php,elasticsearch,我有一个Elasticsearch PHP应用程序,它在本地工作。然而,当我把它放在只支持PHP5.3的RHEL6服务器上时,它就不起作用了。当我转到控制台时,我得到500(内部服务器错误)。我认为问题可能来自init.php中的连接问题。以下是init.php中的代码: <?php require_once 'vendor/autoload.php'; use Elasticsearch\ClientBuilder; /*Build connection*/ $hosts = [ 'x

我有一个Elasticsearch PHP应用程序,它在本地工作。然而,当我把它放在只支持PHP5.3的RHEL6服务器上时,它就不起作用了。当我转到控制台时,我得到500(内部服务器错误)。我认为问题可能来自init.php中的连接问题。以下是init.php中的代码:

<?php
require_once 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;

/*Build connection*/
$hosts = [
'xx.x.xxx.xxx',                // Port
];

$es = ClientBuilder::create()    // Instantiate a new ClientBuilder
        ->setHosts($hosts)      // Set the hosts
        ->build();             // Build the client object

?>


这在本地非常有效。我不知道当我将其传输到服务器时,它为什么不工作。

在PHP 5.3.10中,短数组语法不可用,您只需使用
array()
来修复代码即可:

$hosts = array(
    'xx.x.xxx.xxx',                // Port
);

您的ES服务器的配置是什么?@Val我不认为ES服务器存在配置问题,我认为问题在于PHP无法识别代码。我尝试在PHP5.3.10上运行这段代码,它给了我一个错误:
Parse error:syntax error,在第6行的C:\wamp\www\test3\es.PHP中意外的“[”
第6行是它说的
$hosts=[
它无法识别语法您的本地主机上有什么PHP版本?@Val我使用了PHP7,然后尝试了5.6,两者都很好。然后我安装了PHP5.3.10,它给了我一个错误。嗯,您是对的……现在必须修复所有Elasticsearch文件。谢谢您的帮助!或者更好,升级PHP,因为5.3.10已经很旧了,而且还存在问题我想,但我为一家在RHEL6服务器中使用PHP5.3.3的公司工作。它似乎只支持5.3.3