Pecl install pecl_http does not give available releases

I am trying to install the pecl extension of HTTPRequest. But when I run the following command on my CentOS server, I get a message saying that there are no available releases, and the installation failed.

$pecl install pecl_http No releases available for package "pecl.php.net/pecl_http" install failed 

What am I doing wrong?

Edit: Pecl config

  Configuration (channel pecl.php.net): ===================================== Auto-discover new Channels auto_discover <not set> Default Channel default_channel pecl.php.net HTTP Proxy Server Address http_proxy <not set> PEAR server [DEPRECATED] master_server pear.php.net Default Channel Mirror preferred_mirror pecl.php.net Remote Configuration File remote_config <not set> PEAR executables directory bin_dir /usr/local/bin PEAR documentation directory doc_dir /usr/local/lib/php/doc PHP extension directory ext_dir ./ PEAR directory php_dir /usr/local/lib/php PEAR Installer cache directory cache_dir /tmp/pear/cache PEAR configuration file cfg_dir /usr/local/lib/php/cfg directory PEAR data directory data_dir /usr/local/lib/php/data PEAR Installer download download_dir /tmp/pear/download directory PHP CLI/CGI binary php_bin /usr/local/bin/php php.ini location php_ini <not set> --program-prefix passed to php_prefix <not set> PHP ./configure --program-suffix passed to php_suffix <not set> PHP ./configure PEAR Installer temp directory temp_dir /tmp/pear/temp PEAR test directory test_dir /usr/local/lib/php/test PEAR www files directory www_dir /usr/local/lib/php/htdocs Cache TimeToLive cache_ttl 3600 Preferred Package State preferred_state stable Unix file mask umask 22 Debug Log Level verbose 1 PEAR password (for password <not set> maintainers) Signature Handling Program sig_bin /usr/bin/gpg Signature Key Directory sig_keydir /usr/local/etc/pearkeys Signature Key Id sig_keyid <not set> Package Signature Type sig_type gpg PEAR username (for username <not set> maintainers) User Configuration File Filename /home/onsboek/.pearrc System Configuration File Filename /usr/local/etc/pear.conf 
+4
source share
2 answers

In my case, there was a problem: pecl.php.net did not respond when the "Accept-Encoding:" header was completely empty.

Adding one space to this line in the source code of the pear is a solution to the problem.

file: /usr/local/lib/php/PEAR/REST.php

line ~ 405

 $request .= "AcceptEncoding:\r\n"; //<---original line $request .= "AcceptEncoding: \r\n"; //<--changed to this (added space) 

... or a simple script can do the change:

 #!/usr/bin/env bash target=`pecl config-get php_dir`/PEAR/REST.php [ -f "$target" ] || { echo file $target not found; exit; } sed -i 's/Accept-Encoding:\\r\\n/AcceptEncoding: \\r\\n/g' $target 
+1
source

Try the following:

 yum install php-pear yum install gcc yum install curl-devel /usr/bin/pecl install pecl_http 

Add the following line to the /etc/php.ini file: extension = http.so

Reboot the apache server so that the extension can be downloaded:

 httpd -k restart 

If this does not work, let me know the result.

0
source

Source: https://habr.com/ru/post/1384473/


All Articles