Composer - extension iconv is missing

30,767

Solution 1

So i found out, that composer uses different php config file, which is stored in

/usr/share/php-composer/php.ini

there I just added following line

extension=iconv.so

And everything works!

Solution 2

I solved this problem uncomment the line

ext=iconv

in /etc/php/ini.php Working on manjaro linux

Solution 3

In WHM on Centos7 it worked for me.

yum install ea-php72-php-iconv

You can replace your php version instead of php72

Solution 4

If you are using PHPBrew run this command to install iconv extension:

phpbrew ext install iconv
Share:
30,767
Tanadche
Author by

Tanadche

Updated on July 09, 2022

Comments

  • Tanadche
    Tanadche almost 2 years

    I'm running Manjaro linux and I have installed apache 2.4.10-1 with php 5.5.15-1 and php-composer 1.0.0.alpha8.458-1.

    I want to download project with composer by this command

    composer create-project nette/sandbox TaskManager
    

    but I'm getting error with ext-iconv

    - nette/neon v2.2.1 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.
    - nette/nette v2.2.0 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.
    

    But in my php.ini i have enabled iconv extension

    extension=iconv.so
    .
    .
    [iconv]
    iconv.input_encoding = ISO-8859-1
    iconv.internal_encoding = ISO-8859-1
    iconv.output_encoding = ISO-8859-1
    

    In my php scripts I can use iconv function without any problem.

    When I run php -m i see iconv in list with other modules

    Any idea where could be problem?

    Edit: When I run php -i from cli, I got this:

    Configuration File (php.ini) Path => /etc/php
    Loaded Configuration File => /etc/php/php.ini
    Scan this dir for additional .ini files => /etc/php/conf.d
    Additional .ini files parsed => (none)
    

    And in this config file is iconv enabled.

    Even when I run

    php -d error_reporting=E_ALL -r 'echo iconv("UTF-8", "ASCII//TRANSLIT", "Žluťoučký kůň\n");'
    

    it executes properly and prints "Zlutoucky kun".

  • Matthew G
    Matthew G almost 9 years
    There's a report in the Arch Linux bugtracker about this issue: bugs.archlinux.org/task/42467
  • auipga
    auipga over 5 years
    After reading this I found something useful and extended it. Look at this gist: composer.php.ini
  • Wicak
    Wicak almost 5 years
    I try to edit in /etc/php/php.ini then uncomment extension=iconv
  • Courd Headman
    Courd Headman over 4 years
    Thank you, the more popular answer didn't work for me. /usr/share/php-composer/php.ini did not exist. I do think it's worth mentioning that you should use your php version ``` yum install ea-php(whatever your php version is)-php-iconv ```
  • Santiago
    Santiago over 3 years
    Worked like a charm! (arch/manjaro) - beware there was no "ext" but "extension"