【问题标题】:could not connect localhost with cassandra?无法将 localhost 与 cassandra 连接?
【发布时间】:2011-05-27 13:10:01
【问题描述】:

我的 cassandra 在 CLI 中运行良好。和thrift也安装得很好。我已经启动了 apache 服务器和 cassandara ..但是当尝试执行未在 browser.it 上执行的 php 文件时,它显示错误为: TException:错误:TSocket:无法连接到 localhost:9160(权限被拒绝 [13])

第 12 行和第 13 行是: $socket = new TSocket('localhost', 9160); $transport = new TBufferedTransport($socket, 1024, 1024);

我给了 127.0.0.1 而不是 localhost。即使它不起作用。

谁能帮帮我?

【问题讨论】:

  • 地址没问题,你的权限不行。你应该检查那些,从未与 Cassandra 合作过。但是您要确保设置了正确的权限。这可能会因您运行它的操作系统而有很大差异。
  • 建立连接我这样做了.... $socket = new TSocket('localhost', 9160); $transport = new TBufferedTransport($socket, 1024, 1024); $protocol = new TBinaryProtocolAccelerated($transport); $client = new CassandraClient($protocol); $transport->open();
  • 我通过使用命令 chown -R karthibala /var/www/html/test/... 授予了 WWW 文件夹中的根文件夹的权限,但仍然无法正常工作..

标签: php cassandra


【解决方案1】:

大家好,我解决了问题....

selinux 是导致该问题的原因.....

TException:错误:TSocket:无法连接到 localhost:9160(权限被拒绝 [13]) 要解决它,您需要更改一个 SELinux 布尔值(它将在重新启动后自动保持)。您可能还想重新启动 httpd 以重置代理工作者,但这不是严格要求的。

setsebool -P httpd_can_network_connect 1

http://wiki.apache.org/httpd/13PermissionDenied

【讨论】:

  • 非常感谢,我整天都遇到问题,我可以从 shell 中的 php 连接,但它不能通过 apache 工作。这解决了我的问题。传奇!
猜你喜欢
  • 2014-09-23
  • 1970-01-01
  • 2014-02-03
  • 2021-12-19
  • 2017-01-16
  • 2014-06-23
  • 1970-01-01
  • 2012-10-19
  • 2017-05-11
相关资源
最近更新 更多