Я использую PHP jsonRPCClient для подключения к Bitcoin 0.3.11beta клиенту, который я работаю на Windows, с Bitcoin -server. Я использую вызовы, такие как getreceivedbyaddress, а иногда sendtoaddress. Я замечаю следующее сообщение об ошибке возникает периодически:
PHP Предупреждение: Еореп (HTTP: //...@127.0.0.1: ... /): не удалось открыть поток: HTTP запрос не удалось!
Чтобы преодолеть это в коде PHP, я просто расставил все JSon звонки внутри операторов TRY, а затем в то время как петли, которые продолжали пытаться, пока не был исключением. Поведение оказалось 50/50 успех / провал, так половину времени он только взял 1 петлю, 1/4 времени, которое потребовалось 2 петли, и так далее. В любом случае, в то время как петли позволили мне вытащить результат из вызова, что мне нужно.
Проблема была значительно уменьшена после обновления до последней версии, но все еще было возможно, один раз из 10 или 15 раз.
Совсем недавно, проблема возникла в первый раз на sendtoaddress вызова: Еореп бросил исключение, так что мой код еще раз попробовал, и получил успех. В результате было дважды израсходует. Сервер Bitcoin явно обработан первый, который дал мне исключение. Я сделал некоторые исследования, и это выглядит как вызов Еореп РНР возвращает исключение, если это не нравится HTTP, который возвращается к нему.
Короче говоря, есть несовместимость с FOPEN и клиента Bitcoin (сервер JSON) в PHP, и я подозреваю, что это Bitcoin вопрос, потому что я не нашел каких-либо сообщений о подобных прерывистых проблем из FOPEN функции PHP.
Важная часть этой ошибки он полностью прерывистый, по крайней мере, с getreceivedbyaddress и sendtoaddress функций. С учетом всех других факторов, неизменности, просто повторно отправить запрос JSON делает PHP счастливым, даже если сервер обработал первый запрос и PHP не нравится ответ.