I had a problem with the PEAR installer with the Guzzle package (a generally excellent PHP HTTP framework).
A channel discover would give the following error:
root@ip-10-56-47-23:~# pear channel-discover guzzlephp.org/pear Discovering channel guzzlephp.org/pear over http:// failed with message: channel-add: Cannot open "http://guzzlephp.org/pear/channel.xml" (File http://guzzlephp.org:80/pear/channel.xml not valid (received: HTTP/1.1 404 Not Found )) Trying to discover channel guzzlephp.org/pear over https:// instead Discovery of channel "guzzlephp.org/pear" failed (channel-add: Cannot open "https://guzzlephp.org/pear/channel.xml" (Connection to `guzzlephp.org:443' failed: Connection refused))
Strangely, I could fetch the channel.xml file manually and add the channel. But even then, the install would fail (with similar messages about 404 errors).
The solution seemed to be upgrading PEAR - I was running version 1.9.0 (check it with "pear -V"), so I upgraded it:
root@ip-10-56-47-23:~# pear upgrade pear
after which I had version 1.9.4. Then I tried the channel discover again, with much better results:
root@ip-10-56-47-23:~# pear channel-discover guzzlephp.org/pearAdding Channel "guzzlephp.org/pear" succeeded Discovery of channel "guzzlephp.org/pear" succeeded