JSON-RPC PHP无法连接到本地bitcoind服务器

时间:2012-01-08 09:42:11

标签: php localhost fedora json-rpc bitcoin

我尝试跟随这个PHP开发人员介绍比特币https://en.bitcoin.it/wiki/PHP_developer_intro

我在虚拟专用服务器上执行此步骤,一切正常。但是当我尝试使用OS fedora 14在我的虚拟机上执行相同的步骤时,文章中的示例给出了一个错误:

Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://user:123456@127.0.0.1:8332/' in /var/www/html/jsonRPCClient.php:140
Stack trace:
#0 /var/www/html/btc.php(7): jsonRPCClient->__call('getbalance', Array)
#1 /var/www/html/btc.php(7): jsonRPCClient->getbalance()
#2 {main}
  thrown in /var/www/html/jsonRPCClient.php on line 140

代码是:

<?php
require_once 'jsonRPCClient.php';

$bitcoin = new jsonRPCClient('http://user:123456@127.0.0.1:8332/');

echo "<pre>\n";
print_r($bitcoin->getbalance());
echo "</pre>";
?>

当我在命令行执行./bitcoind getbalance或./bitcoind getinfo时,我得到答案, 但PHP脚本不起作用。

netstat给了我以下内容:

[root@vitaly 32]# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:mysql                     *:*                         LISTEN      1297/mysqld         
tcp        0      0 localhost.localdomain:8332  *:*                         LISTEN      2171/bitcoind       
tcp        0      0 *:8333                      *:*                         LISTEN      2171/bitcoind       
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN      1000/cupsd          
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN      1337/sendmail: acce 
tcp        0      0 vitaly:39994                irc.lfnet.org:ircu-3        ESTABLISHED 2171/bitcoind       
tcp        0      0 vitaly:50594                c-98-207-155-236.hsd1.:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 vitaly:57654                c-67-170-81-79.hsd1.wa:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 localhost.localdomain:40427 localhost.localdomain:http  TIME_WAIT   -                   
tcp        0      0 vitaly:57486                ip72-193-65-74.lv.lv.c:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 vitaly:56222                109.254.91.55:8333          ESTABLISHED 2171/bitcoind       
tcp        1      0 vitaly:47205                stackoverflow.com:http      CLOSE_WAIT  2016/firefox        
tcp        0      0 vitaly:59602                pool-108-20-235-196.bs:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 vitaly:33671                bk-in-f102.1e100.net:https  ESTABLISHED 2016/firefox        
tcp        0      0 vitaly:46155                host86-144-29-61.range:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 vitaly:45357                cpe-098-026-012-202.nc:8333 ESTABLISHED 2171/bitcoind       
tcp        0      0 *:http                      *:*                         LISTEN      1370/httpd          
tcp        0      0 vitaly:ipp                  *:*                         LISTEN      1000/cupsd  

bitcion.conf:

rpcuser=user
rpcpassword=123456

rpcport=8332

我应该检查什么?

2 个答案:

答案 0 :(得分:1)

一定要允许你的服务器ip(php部分所在的位置!)

@Query("SELECT random()")

我忘了每次都做,运行php给我连接错误或每次空白。 :/

答案 1 :(得分:0)

如果您的服务器设置为通过证书而不是密码进行身份验证,请检查您是通过HTTPS而不是HTTP进行连接。