2017-09-25 6 views
1

私はElasticsearch-PHPアプリケーションを持っており、ローカルで動作します。しかし、PHP 5.3しかサポートしていないRHEL 6サーバに置いても動作しません。私がコンソールに行くと、GET http://xx.x.xxx.xxx:xxxx/init.php 500(内部サーバーエラー)が表示されます。私が思うと、init.phpの接続の問題かもしれません。 init.phpのコードは次のとおりです。Elasticsearch-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 

?> 

これはローカルで完璧に動作します。なぜ私はそれがサーバーに転送するときに動作しないのか分からない。

+0

あなたESサーバーの構成は何ですか? – Val

+0

@Val私はそれがESサーバーの設定上の問題ではないと思っています。PHPがコードを認識しないという問題があると思います。 PHP 5.3.10でこのコードを実行しようとしましたが、このエラーが発生します: 'Parse error:構文エラーです。予期しない '[C:\ wamp \ www \ test3 \ es.phpの6行目' 6行目'$ hosts = ['それは構文を認識していません – user2896120

+0

あなたのlocalhostにはどんなPHPバージョンがありますか? – Val

答えて

1

PHP 5.3.10では短い配列構文が利用できなかった、あなたは、単に代わりarray()を使用してコードを修正することができます

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

うーん、あなたは正しい...すべてのElasticsearchファイルを今修正する必要があります。ご協力いただきありがとうございます! – user2896120

+0

また、5.3.10がかなり古く、他のバグの影響を受けやすいので、PHPをアップグレードしてください。 – Val

+0

私はしたいと思いますが、RHEL 6サーバーでPHP 5.3.3を使用している組織で働いています。 5.3.3以外のものはサポートされていないようです – user2896120

関連する問題