Solution for PEAR or PECL "is using a unsupported protocal (sic)"

Summary: A solution for "pear/pecl is using a unsupported protocal (protocol)".

While trying to install the APC Opcode Cache on a server yesterday, when I tried to run this command:

pecl install apc

I kept getting this error message:

pecl.php.net is using a unsupported protocal - 
This should never happen.
install failed

After doing some research, it looks like you can also get a similar error message with PEAR:

pear.php.net is using a unsupported protocal

The solution I found was on this PEAR forum page. Apparently there was a problem in the PHP 5.2.10 release, and the ".channels" directory in the PHP distribution is not correct.

To solve my problem, I did what the person wrote at the end of that page:

  • I deleted the .channels directory (I actually moved it somewhere else, in case they were wrong).
  • I re-created the directory with the "pear update-channels" command.

After running the update-channels command, I confirmed that the directory was created, and the files in that directory looked much better. After that I was able to run my PECL command just fine.