Solucionado (ver solução)
Solucionado
(ver solução)
14
respostas

Atualizar Composer

Preciso de um help por favor....

Meu OS é Ubuntu 20.04 como PHP 8.0, e estou usando o vscode.

Quando digito no terminal composer require guzzlehttp/guzzle

É exibida essa mensagem. PHP Warning: PHP Startup: Unable to load dynamic library 'php_openssl.so' (tried: /usr/lib/php/20190902/php_openssl.so (/usr/lib/php/20190902/php_openssl.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/php_openssl.so.so (/usr/lib/php/20190902/php_openssl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is now available and you should upgrade. See https://getcomposer.org/2

Segundos depois é exibida novas mensagens.

Using version ^7.2 for guzzlehttp/guzzle ./composer.json has been updated Loading composer repositories with package information Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is now available and you should upgrade. See https://getcomposer.org/2 Updating dependencies (including require-dev) Nothing to install or update Generating autoload files 1 package you are using is looking for funding. Use the composer fund command to find out more!

Preciso atualizar o composer para 2.0 só que não tem jeito de isso acontecer, mesmo acessando o site do composer com os comandos para instalar/atualizar, é gerado varios avisos.

Digito no terminal: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Retorna: Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

Warning: copy(https://getcomposer.org/installer): Failed to open stream: No such file or directory in Command line code on line 1

Tambem menciona no openssl, entrei no php.ini e descomentei a linha ontem tem essa extenção e nada adianta.

O que mais pode ser? Ha varias mensagens estou completamente perdido...

14 respostas

Alguem consegue dar uma ajuda por favor?

Opa Gustavo, já passei por isso só não lembro como resolvi, vou procurar evidências aqui no meu terminal e te respondo a noite!

Gustavo, são bastantes erros. Vamos por partes.

  1. Sua extensão openssl não está instalada. Instale ela (a instalação de uma extensão depende de como o PHP em si foi instalado)
  2. Pra atualizar o composer, só rodar: composer self-update
  3. O erro Unable to find the wrapper "https" é por causa da falta da extensão openssl

Perdoa! Na correria esqueci de olhar, mas lembro que foi algo que o mestre Vinícius falou acima!

Obrigado Vinícius!

Boa noite Vinicius e Francisco.

Agradeço a ajuda, mas ao tentar instalar o composer self-update retorna esse mensagem, eu ja havia tentado instalar antes.

PHP Warning:  PHP Startup: Unable to load dynamic library 'php_openssl.so' (tried: /usr/lib/php/20190902/php_openssl.so (/usr/lib/php/20190902/php_openssl.so: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/php_openssl.so.so (/usr/lib/php/20190902/php_openssl.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0


  Command "self-update" is not defined.  

Acessei a pasta que é exibida na mensagem, mas não existe esse arquivo na pasta.

Opa Gustavo

Tenta ver se o openssl está instalado:

php -i | grep -i openssl

Caso esteja instalado ele irá retornar que está ativo e sua versão...

Caso não esteja habilitado, altere as configurações do php.ini para habilitá-lo.

Caso não esteja instalado, tenta:

apt-get install openssl

Me avisa aqui se deu certo a instalação ou habilitação do mesmo!

Valeu!

Rodei o comando

php -i | grep -i openssl

Exibiu essa mensagem

OpenSSL support => disabled (install ext/openssl)

Localizei o php.ini e a linha onde tem o extension=php_openssl.so esta descomentada.

Quando tento instalar o openssl, exibe que ja esta instalado.

Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
openssl is already the newest version (1.1.1f-1ubuntu2.1).
0 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.

Que bruxaria é essa....rs

Eita kkk

Acho que os arquivos não estão no lugar correto... Tenta alterar a versão do PHP ou reinstalar o PHP do zero, se for viável

De novo, vamos por partes, Gustavo. Sobre a impossibilidade de atualizar o composer... Como você o instalou? Se foi pelo apt , remova e instale como a documentação oficial sugere. Através do instalador que é fornecido lá. Mas pra isso vc vai precisar da extensão openssl.

Quanto ao openssl, você parece não ter lido minha última resposta:

Sua extensão openssl não está instalada. Instale ela (a instalação de uma extensão depende de como o PHP em si foi instalado)

Supondo que você tenha instalado o PHP através do apt, pra instalar a extensão vai ser algo como sudo apt install php74-openssl.

O que o Francisco recomendou que você instalasse não é a extensão openssl do PHP. É o pacote openssl pro sistema operacional.

Oi Vinicius.

Desinstalei o PHP e o Composer, reiniciei o Ubuntu, no terminal eu digitei php -v, exibe que tenho instalado o php 8.0.

Acho que é aí o problema. Pode me orientar como desinstalar o php 8.0. Essa é a mensagem que aparece no terminal.

gustavo@gustavo-Spin-SP314-51:~$ php -v
PHP 8.0.0 (cli) (built: Dec  8 2020 19:38:46) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies

Consegui limpar todos os rastros de instalação de qualquer php. Retirei apache, mysql, composer.....tudo.

Instalei tudo normalmente conforme as instuções dos sites, php e composer. Agora não estou conseguindo instalar o composer 2.0

Tem um site que mostra como instalar o composer 2.0, no final do processo, é exibido que o composer 2.0 esta instalado, mas ao digita no terminal composer, exibe a versão 1.0

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Depois exibe a mensagem.

gustavo@gustavo-Spin-SP314-51:~$ cd ~
gustavo@gustavo-Spin-SP314-51:~$ curl -sS https://getcomposer.org/installer -o composer-setup.php
gustavo@gustavo-Spin-SP314-51:~$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
[sudo] senha para gustavo: 
All settings correct for using Composer
Downloading...

Composer (version 2.0.8) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Quando digito composer no terminal, exibe que estou usando a versão 1.10

gustavo@gustavo-Spin-SP314-51:/usr/local/bin$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer 1.10.1 2020-03-13 20:34:27

Oi Gustavo, utiliza o:

composer self-update

Belelza, Gustavo.

Seu problema é na forma como você instalou o composer originalmente. Essa outra versão continua instalada e ela que tá sendo utilizada quando você tenta usar o comando composer.

Instala o composer seguindo a página oficial: https://getcomposer.org/download/

No final você vai ter um arquivo composer.phar. Executa composer.phar --version e garante que é a versão 2. Aí usa esse arquivo pra realizar as tarefas que quiser. Sacou?

Se você souber como instalou essa outra versão do composer, pode desinstalar ela e mover o composer.phar pra um lugar que esteja no seu PATH e renomear só pra composer, aí você vai executar o composer normalmente.

Me diz se entendeu e se funcionou.

solução!

Boa noite @vinicius e @francisco.

Desculpe a demora em responder.

Eu havia instalado o composer diretamente do site como você mencionou Vinicius, e ao executar composer -v, exibia a versão 2.0, quando eu executava o comando "composer require guzzlehttp/guzzle" mostrara todas aquelas mensagens e informando que tinha o composer na versão 1.10.

Conforme sua orientação, repeti o processo de instalação do site do composer, e agora esta tudo certo, executei o comando acima e sem erros, agora consigo prosseguir com o curso.

Muito obrigado.