この拡張機能をインストールしようとしていますが、構成フェーズで失敗します。私はubuntu 12.04を使っていて、これらのパッケージをインストールしたところです:
PHPバージョン:
PHP 5.3.10-1ubuntu3.14 with Suhosin-Patch (cli) (built: Sep 4 2014 07:08:49)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
インストールコマンドのログは次のとおりです。
Sudo pecl install pecl_http
downloading pecl_http-2.1.1.tgz ...
Starting to download pecl_http-2.1.1.tgz (158,441 bytes)
.................................done: 158,441 bytes
64 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Enable extended HTTP support [yes] :
where to find zlib [/usr] :
where to find libcurl [/usr] :
where to find libevent [/usr] :
building in /tmp/pear/temp/pear-build-rootqE2kgU/pecl_http-2.1.1
running: /tmp/pear/temp/pecl_http/configure --with-http --with-http-zlib-dir=/usr --with-http-libcurl-dir=/usr --with-http-libevent-dir=/home/gare88/Lib/Php/libevent-2.0.21-stable/
checking for grep that handles long lines and -e... /bin/grep
[... cut...]
checking for zlib.h... found in /usr
checking for zlib version >= 1.2.0.4... 1.2.3.4
checking for curl/curl.h... found in /usr
checking for curl-config... found: /usr/bin/curl-config
checking for curl version >= 7.18.2... 7.22.0
checking for SSL support in libcurl... yes
checking for openssl support in libcurl... no
checking for gnutls support in libcurl... no
checking for ares support in libcurl... no
checking for bundled SSL CA info... /etc/ssl/certs/ca-certificates.crt
checking for event2/event.h... not found
configure: WARNING: continuing without libevent support
checking for ext/raphf support... no
configure: error: Please install pecl/raphf and activate extension=raphf.so in your php.ini
ERROR: `/tmp/pear/temp/pecl_http/configure --with-http --with-http-zlib-dir=/usr --with-http-libcurl-dir=/usr --with-http-libevent-dir=/usr' failed
pecl/raphfの問題のようですので、試してみました:
Sudo pecl install raphf
pecl/raphf is already installed and is the same as the released version 1.0.4
install failed
/etc/php5/Apache2/php.iniにあるphp.iniファイルの最後に、次の行を追加しました。
extension=raphf.so
extension=propro.so
extension=http.so
他に試すことができるものはありますか?
パッケージマネージャーからphp-raphfをインストールする必要があります。
私にとっては、以下を使用してモジュールをインストールしました。あなたの場合、あなたはapt-getのためにyumを切り替えることができるはずです。
Sudo yum install php-raphf
Sudo yum install php-propro
Sudo pecl install pecl_http
Php.iniファイルにextension = http.soを追加する必要があります。しかし、あなたはすでにそれをしているように見えます。
peclは、実際には探している.soファイルをインストールしません。
ubuntu 13または14をお持ちの場合は、pecl install pecl_http-1.7.6
新しいバージョンがまだ何らかの理由で読み込まれないため。
Ubuntu 12.04.5 LTSでは、これは私のために働きました:
最初に、コンパイルに必要ないくつかの前提条件をインストールします。
Sudo apt-get install php-http
Sudo apt-get install php5-dev
Sudo apt-get install libcurl3
Sudo apt-get install libpcre3-dev
Sudo apt-get install libcurl4-openssl-dev
Sudo pecl install raphf
Sudo pecl install pecl_http-1.7.6
その後、フォルダ/usr/lib/php5/modules
に移動し、ライブラリが存在するかどうかを確認します:raphf.so
、propro.so
およびhttp.so
。
php.ini
(/etc/php5/Apache2/php.ini
および/etc/php5/cli/php.ini
)にこれらの拡張機能が含まれていない場合は、追加します。
extension=http.so
extension=propro.so
extension=raphf.so
または、ファイルへの絶対パスを使用します。 extension=/usr/lib/php5/modules/http.so
。
そして最後のステップとして、ウェブサーバーを再起動して、新しい設定をロードします。
Sudo service Apache2 reload
@mschuettの回答に追加するだけで、OPと同じエラーが発生したときに、php.iniの拡張参照を変更するとうまくいくことがわかりました。
extension=raphf.so
に
extension=/usr/lib/php5/20121212/raphf.so
その後
Sudo pecl install pecl_http
また、次のように設定すると、peclインストールで変更するときにphp.iniファイルを手動で編集する必要がなくなります。
pear config-set php_ini /etc/php5/Apache2/php.ini
pecl config-set php_ini /etc/php5/Apache2/php.ini
注:これはUbuntu 14.04 LTSで機能しました。
コマンドを実行
Sudo yum install php-raphf
Sudo pecl install pecl_http
etc/phph5/Apache2/conf.d
2つのファイルを追加
コンテンツを追加
extension = raphf.so
solr.ini
コンテンツを追加する
extension = raphf.so
php.iniファイルに追加
extension = http.so extension = propro.so extension = raphf.soまたはextension =/usr/lib/php5/20121212/raphf.so extension = solr.so
Ubuntu 16.04およびphp-fpm5.6にpecl_http-2.6.0、raphf-1.1.2、およびpropro-1.0.2をインストールしようとしているときに、この問題にぶつかります。 apt
はraphf 2.0.0とpropro 2.1.0しかインストールできないため、apt
を使用してraphfとproproをインストールすることはできません(PHP 7。
Php.iniを更新したり、apt
を使用したりすることなく、次の手順で問題を解決します。
まず、php-fpmに新しい拡張子をロードさせるには、.iniファイルを/etc/php/5.6/mods-available
に追加する必要があります。次に、phpenmod
を使用して拡張機能を有効にします。
Raphf-1.1.2をインストールして有効にするには、
$ pecl install raphf-1.1.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf
これらのコマンドにはSudo
が必要になる場合があることに注意してください。
同様に、propro-1.0.2の場合
$ pecl install raphf-1.0.2
$ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
$ phpenmod raphf
php -m
を使用してロードされたすべての拡張機能を表示すると、リストにraphfとproproが表示されます。
これでpecl_http-2.6.0をインストールできます
$ pecl install pecl_http-2.6.0
インストールは正常に完了するはずです。
$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
pecl_http 2.6.0 stable
propro 1.0.2 stable
raphf 1.1.2 stable
私のようにpecl
を使用している場合、次のような警告が表示されることがあります。
install ok: channel://pecl.php.net/pecl_http-2.6.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=http.so" to php.ini
これは、pear
およびpecl
のphp_ini
構成が設定されていないために発生します。