web-dev-qa-db-ja.com

Ubuntu peclのインストールpecl_httpが失敗する

この拡張機能をインストールしようとしていますが、構成フェーズで失敗します。私はubuntu 12.04を使っていて、これらのパッケージをインストールしたところです:

  • libcurl3-openssl-dev
  • php-http
  • libpcre3-dev
  • libcurl3
  • php-pear
  • php5-dev

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

他に試すことができるものはありますか?

16
Gare88

パッケージマネージャーから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ファイルをインストールしません。

10
mschuett

ubuntu 13または14をお持ちの場合は、pecl install pecl_http-1.7.6新しいバージョンがまだ何らかの理由で読み込まれないため。

8
coviex

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.sopropro.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
6

@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で機能しました。

5
Kruunch Arz

コマンドを実行

  1. Sudo yum install php-raphf

    • Sudo yum install php-propro
  2. Sudo pecl install pecl_http

  3. etc/phph5/Apache2/conf.d

2つのファイルを追加

  • raphf.ini

コンテンツを追加

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

0
Rahul Yadav

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およびpeclphp_ini構成が設定されていないために発生します。

0
ivan.sim