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

Não consigo acessar a API

Fiz os mesmos passos do curso, porém não tive o mesmo resultado. Não sei se tenho que ativar alguma coisa, ou se estou fazendo algo errado, mas quando tento usar:

echo file_get_contents('http://swapi.dev/api/films/4/');

no terminal do VS code ou no Terminal do Windows, acabo tomando esse erro:

Warning: file(http://swapi.dev/api/films/4/): Failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in php shell code on line 1

Não sei o que posso fazer para resolver, já tentei procurar na internet, mas não achei nada muito claro que me ajude a resolver o problema.

Imagem muito triste de um erro PHP que não consigo resolver :(

Alguem poderia me ajudar?

4 respostas

Oi Cristofer, tudo bem?

Tente descomentar a extensão openssl dentro do seu arquivo .ini.

Ela estará dessa forma: ;extension=openssl, você retira o ; deixando da seguinte forma:extension=openssl.

Acabei de descomentar esta linha, porém acabei criando outro erro, quando tento usar php -a, logo de cara recebo esta mesagem:

PHP Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: C:\php\ext\openssl (Não foi possível encontrar o módulo especificado), C:\php\ext\php_openssl.dll (Não foi possível encontrar o módulo especificado)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'openssl' (tried: C:\php\ext\openssl (Não foi possível encontrar o módulo especificado), C:\php\ext\php_openssl.dll (Não foi possível encontrar o módulo especificado)) in Unknown on line 0

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E se tentar executar a mesma linha de código de antes, continuo com o mesmo erro:

PHP Warning: file_get_contents(http://swapi.dev/api/films/4/): Failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in php shell code on line 1

Warning: file_get_contents(http://swapi.dev/api/films/4/): Failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? in php shell code on line 1

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

A mesma coisa acontece no Terminal do Windows. Não sei tem alguma coisa a ver com a versão do PHP ou Windows, Estou usando o Windows 11 e o PHP 8.1.3

solução!

Cristofer, verifique se essa linha extension_dir = "ext" está descomentada no .ini, caso não esteja descomente ela e a do openssl.

Se essas alterações não funcionarem, só por curiosidade, tente usar https ao invés de http para acessar a api.

Agora sim! Funcionou, muito obrigado pela ajuda. Testei com https e também funcionou normalmente, vlw.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software