与neo4j的PHP连接;卷曲误差7“;
我遵循了这个步骤,但我发现了这个错误,你能帮我吗 HttpRequestEventSubscriber.php第74行中的HttpException:上的错误 带有消息“cURL error 7:无法连接到”的连接“default” 本地主机端口7474:连接被拒绝(请参阅 )" 这是我的.env代码与neo4j的PHP连接;卷曲误差7“;,php,laravel,curl,neo4j,Php,Laravel,Curl,Neo4j,我遵循了这个步骤,但我发现了这个错误,你能帮我吗 HttpRequestEventSubscriber.php第74行中的HttpException:上的错误 带有消息“cURL error 7:无法连接到”的连接“default” 本地主机端口7474:连接被拒绝(请参阅 )" 这是我的.env代码 `APP_ENV=local APP_DEBUG=true APP_KEY=ChTIcRHTSR35M6rP0jwmOmhMNLuFpMVe NEO4J_HOST=localhost NEO4J
`APP_ENV=local
APP_DEBUG=true
APP_KEY=ChTIcRHTSR35M6rP0jwmOmhMNLuFpMVe
NEO4J_HOST=localhost
NEO4J_PORT=7474
NEO4J_USER=neo4j
NEO4J_PASSWORD=admin
NEO4J_TIMEOUT=300
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
`
这是NeoClientServiceProvider代码
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Neoxygen\NeoClient\ClientBuilder;
class NeoClientServiceProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register()
{
$this->app->singleton('neoclient', function ($app) {
return ClientBuilder::create()
->addConnection('default', 'http', env('NEO4J_HOST'), intval(env('NEO4J_PORT')), true, env('NEO4J_USER'), env('NEO4J_PASSWORD'))
->setDefaultTimeout( intval(env('NEO4J_TIMEOUT')) )
->setAutoFormatResponse(true)
->build();
});
}
}
别名
'NeoClient' => App\NeoClient::class
这是NeoClient类代码
<?php namespace App;
use Illuminate\Support\Facades\Facade;
class NeoClient extends Facade
{
protected static function getFacadeAccessor() { return 'neoclient'; }
}
好的。我安装Homestead是为了重现您的环境。如评论中所述,这本应是一个主要问题。我设法使您与neo4j的连接正常工作:
sshvagrant@127.0.0.1-第2222页
vagrant@homestead:~$ip路由显示
通过10.0.2.2 dev eth0默认设置
10.0.2.0/24 dev eth0原型内核作用域链接src 10.0.2.15
192.168.10.0/24 dev eth1原型内核作用域链接src 192.168.10.10
这里的主机网关是10.0.2.2
$curl--用户neo4j:admin“http://10.0.2.2:7474/db/data/"
“扩展”:{},
“节点”:”http://10.0.2.2:7474/db/data/node",
“节点索引”:http://10.0.2.2:7474/db/data/index/node",
“关系索引”:http://10.0.2.2:7474/db/data/index/relationship",
“扩展信息”:http://10.0.2.2:7474/db/data/ext",
“关系类型”:http://10.0.2.2:7474/db/data/relationship/types",
“批次”:http://10.0.2.2:7474/db/data/batch",
“密码”:http://10.0.2.2:7474/db/data/cypher",
“索引”:http://10.0.2.2:7474/db/data/schema/index",
“限制”:http://10.0.2.2:7474/db/data/schema/constraint",
“交易”:http://10.0.2.2:7474/db/data/transaction",
“节点_标签”:http://10.0.2.2:7474/db/data/labels",
“neo4j_版本”:“3.0.0-alpha.163”
错误很明显:可能没有人在该端口上侦听。该端口用于neo4j连接。该链接是我用来打开neo4j浏览器的。请编辑您的问题并添加您正在执行的代码。这个错误可能有42个不同的原因。那么homestead vagrant localhost与主机上的neo4j服务器使用的localhost不同吗?看起来您的主机上安装了neo4jlocalhost
,您试图做的是从guest
(homestead)访问主机。也许这能帮上忙:谢谢你,非常非常感谢
<?php namespace App;
use Illuminate\Support\Facades\Facade;
class NeoClient extends Facade
{
protected static function getFacadeAccessor() { return 'neoclient'; }
}
<?php
namespace App\Http\Controllers;
use App\NeoClient;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class test extends Controller
{
public function index()
{
$data = NeoClient::sendCypherQuery('CREATE (user:User {name:"Kenneth"}) RETURN user');
}
}
public function addConnection($alias, $scheme, $host, $port, $authMode = false, $authUser = null, $authPassword = null)
{
$this->configuration['connections'][$alias] = array(
'scheme' => $scheme,
'host' => $host,
'port' => $port,
'auth' => $authMode,
'user' => $authUser,
'password' => $authPassword,
);
dd($this);
return $this;
}