Erro ao atualizar o composer “enabled in your .ini files”

Como resolver o erro ao atualizar o componser no Fedora 27 com Xampp (lampp).

É comum ter instalado em seu sistema o PHP para outros programas, não só para desenvolvimento de web sites, então além de seu xampp seu sistema também possui o PHP ou então por algum outro motivo você tenha instalado, então quando você executa o comando “php composer.phar update” ele utiliza a variável de ambiente do PHP de seu sistema e não do Xampp e se você não instalou os outros componentes do PHP este erro vai ser apresentado porque realmente estes pacotes não estão instalado, mas o xampp possui!

Para resolver este problema basta você digitar o comando:

/opt/lampp/bin/php composer.phar update

* Com seu usuário, não como root, inclusive neste arquivo ensino a configurar o Xampp (apache) para rodar com seu usuário e não como root, isso evita diversos problemas, principalmente na atualização automáticas de cms como wordpress:
Configurando o Xampp para rodar com usuário pessoal
Assim você também pode manipular os arquivos manualmente pelo seu explorador sem precisar de usuário administrativo, nem ficar naquela luta de permissões de arquivos em pastas.

Veja o erro que é apresentado caso você queira conferir:

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php.ini
    - /etc/php.d/20-bz2.ini
    - /etc/php.d/20-calendar.ini
    - /etc/php.d/20-ctype.ini
    - /etc/php.d/20-curl.ini
    - /etc/php.d/20-dom.ini
    - /etc/php.d/20-exif.ini
    - /etc/php.d/20-fileinfo.ini
    - /etc/php.d/20-ftp.ini
    - /etc/php.d/20-gettext.ini
    - /etc/php.d/20-iconv.ini
    - /etc/php.d/20-json.ini
    - /etc/php.d/20-mbstring.ini
    - /etc/php.d/20-phar.ini
    - /etc/php.d/20-posix.ini
    - /etc/php.d/20-shmop.ini
    - /etc/php.d/20-simplexml.ini
    - /etc/php.d/20-soap.ini
    - /etc/php.d/20-sockets.ini
    - /etc/php.d/20-sysvmsg.ini
    - /etc/php.d/20-sysvsem.ini
    - /etc/php.d/20-sysvshm.ini
    - /etc/php.d/20-tokenizer.ini
    - /etc/php.d/20-xml.ini
    - /etc/php.d/20-xmlwriter.ini
    - /etc/php.d/20-xsl.ini
    - /etc/php.d/30-wddx.ini
    - /etc/php.d/30-xmlreader.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Criando variável de ambiente para utilizar o PHP do Xampp:
Abra o arquivo oculto em sua pasta pessoal “/home/nomeusuario/.bash_profile”, adicione a seguinte linha:

phpxampp=/opt/lampp/bin/php

export phpxampp

Vou postar também o restante de meu arquivo “.bash_profile” caso te ajude em alguma outra configuração, quando eu era um usuário iniciante em linux sentia a falta desse tipo de atitude:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/lampp/bin

export PATH

Observe que minha variável PATH já tem a pasta do lampp com os devidos executáveis (inclusive o php esta lá), mas o PHP instalado no sistema substitui a variável do Lampp, por isso precisei adicionar uma nova apenas com o caminho do PHP do Xampp e criar um novo nome pra esta variável.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *