2017-06-28 89 views
0

在我們用下面的代碼過去那樣連接到新:設置在PHP的Neo4j-PHP客戶端Neo4j的連接超時

use GraphAware\Neo4j\Client\ClientBuilder; 
$neo4j = ClientBuilder::create() 
      -> addConnection('default', $neo_ip) 
      -> setDefaultTimeout($neo_timeout) 
      -> build(); 

setDefaultTimeout已被棄用,默認捲曲超時爲5秒,這是不足夠長的一些疑問。

我們可以使用螺栓代替,但螺栓連接中的setDefaultTimeout也可能會被棄用。

use GraphAware\Neo4j\Client\ClientBuilder; 
$neo4j = ClientBuilder::create() 
      -> addConnection('bolt', $neo_bolt_ip) 
      -> setDefaultTimeout($neo_timeout) 
      -> build(); 

的HTTP連接上設置超時的新方法如下:

use GraphAware\Neo4j\Client\ClientBuilder; 
use Http\Client\Curl\Client; 
$options = [ 
     CURLOPT_CONNECTTIMEOUT => 99, // The number of seconds to wait while trying to connect. 
     CURLOPT_SSL_VERIFYPEER => false // Stop cURL from verifying the peer's certificate 
    ]; 
    $httpClient = new Client(null, null, $options); 
    $config = \GraphAware\Neo4j\Client\HttpDriver\Configuration::create($httpClient); 

    $neo4j = ClientBuilder::create() 
      -> addConnection('default', $neo_ip, $config) 
      -> build(); 

但是使用這種新的方式,我正在一個Unsupported Media Type例外。
如果有人對此有所瞭解,請分享。

+0

看到的是https:// github上的.com/graphaware/Neo4j的-PHP-客戶/拉/ 114 –

回答

0

現在我們可以使用以下方法來設置超時:

$neo_timeout = 999; 
$neo_ip = "http://user:[email protected]:7474"; 
use GraphAware\Neo4j\Client\ClientBuilder; 
$httpClient = \Http\Adapter\Guzzle6\Client::createWithConfig(['timeout'=>$neo_timeout]); 
$config = \GraphAware\Neo4j\Client\HttpDriver\Configuration::create($httpClient); 

$neo4j = ClientBuilder::create() 
     -> addConnection('default', $neo_ip, $config) 
     -> build(); 

修復了使用PHP-HTTP /捲曲客戶端已發出
見:https://github.com/graphaware/neo4j-php-client/pull/114

相關問題