Ubuntu pecl install pecl_http fail

前端 未结 6 1689
时光取名叫无心
时光取名叫无心 2020-12-17 10:16

I\'m trying to install this extension but it fails in the configuration phase. I\'m on ubuntu 12.04 and I have just installed these packages:

  • libcurl3-openssl-
相关标签:
6条回答
  • 2020-12-17 10:29

    On Ubuntu 12.04.5 LTS this worked for me:

    First install some prerequisites needed for compilation:

    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
    

    after that go to the folder /usr/lib/php5/modules and check if the libraries are there: raphf.so, propro.so and http.so.

    If your php.ini (at /etc/php5/apache2/php.ini and /etc/php5/cli/php.ini) does not contain these extensions, add them:

    extension=http.so
    extension=propro.so
    extension=raphf.so
    

    or using the absolute path to the files, e.g. extension=/usr/lib/php5/modules/http.so.

    And as last step restart your webserver, thus loading the new configuration:

    sudo service apache2 reload
    
    0 讨论(0)
  • 2020-12-17 10:33

    You need to install php-raphf from your package manager.

    for me i installed the module using the following. In your case you should be able to switch out yum for apt-get.

    sudo yum install php-raphf
    sudo yum install php-propro
    sudo pecl install pecl_http
    

    The you will need to add extension = http.so to your php.ini file. But it looks like you have already done that.

    pecl does not actually install the .so file that you are looking for.

    0 讨论(0)
  • 2020-12-17 10:37

    Just to add to @mschuett's answer, I found that when I got the same error as the OP that changing my extension reference in the php.ini did the trick.

    extension=raphf.so
    

    to

    extension=/usr/lib/php5/20121212/raphf.so
    

    then

    sudo pecl install pecl_http
    

    Also setting the following will keep you from having to hand edit your php.ini file when a pecl installation wants to modify it:

    pear config-set php_ini /etc/php5/apache2/php.ini
    pecl config-set php_ini /etc/php5/apache2/php.ini
    

    NOTE: This worked for Ubuntu 14.04 LTS.

    0 讨论(0)
  • 2020-12-17 10:40

    run command

    1. sudo yum install php-raphf

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

    3. etc/phph5/apache2/conf.d

    add two file

    • raphf.ini

    add content

    extension=raphf.so

    solr.ini

    add content

    extension=raphf.so

    add in php.ini file

    extension=http.so extension=propro.so extension=raphf.so or extension=/usr/lib/php5/20121212/raphf.so extension=solr.so

    0 讨论(0)
  • 2020-12-17 10:42

    if you have ubuntu 13 or 14, try pecl install pecl_http-1.7.6 as newer versions still do not load for some reason.

    0 讨论(0)
  • 2020-12-17 10:52

    I bump into this issue while trying to install pecl_http-2.6.0, raphf-1.1.2 and propro-1.0.2 on Ubuntu 16.04 and php-fpm5.6. I can't use apt to install raphf and propro (as @mschuett suggested) because apt can only install raphf 2.0.0 and propro 2.1.0 which works only for PHP 7.

    I resolve the problem with the following steps without needing to update the php.ini nor using apt.

    First of all, to get php-fpm to load a new extension, an .ini file must be added to /etc/php/5.6/mods-available. Then use phpenmod to enable the extension.

    So to install and enable raphf-1.1.2,

    $ pecl install raphf-1.1.2
    $ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
    $ phpenmod raphf
    

    Note that you might need sudo for these commands.

    Similarly, for propro-1.0.2

    $ pecl install raphf-1.0.2
    $ echo "extension=raphf.so" >> /etc/php/5.6/mods-available
    $ phpenmod raphf
    

    If you use php -m to view all the loaded extensions, you should see raphf and propro in the list.

    Now you can install pecl_http-2.6.0 with

    $ pecl install pecl_http-2.6.0
    

    The installation should complete successfully.

    $ 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
    

    If you are using pecl like me, you might see warning such as:

    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
    

    which happens because the php_ini config of my pear and pecl aren't set.

    0 讨论(0)
提交回复
热议问题