Estou com esse erro na execução do buscar-cursos.php e não consigo resolver.
Erro:
PHP Fatal error: Uncaught RuntimeException: SSL CA bundle not found: false in /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php:490
Stack trace:
#0 /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php(297): GuzzleHttp\Handler\StreamHandler->add_verify()
#1 /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php(58): GuzzleHttp\Handler\StreamHandler->createStream()
#2 /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(35): GuzzleHttp\Handler\StreamHandler->__invoke()
#3 /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#4 /<path>/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src in /home/contass/Dropbox2/Cursos/Alura/Avancando-PHP/buscador-cursos-alura/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 52
Arquivo buscar-cursos.php:
<?php
require_once 'vendor/autoload.php';
require_once 'src/Buscador.php';
use Alura\BuscadorDeCursos\Buscador;
use GuzzleHttp\Client;
use Symfony\Component\DomCrawler\Crawler;
$client = new Client(['base_uri' => 'https://www.alura.com.br/', 'verify' => 'false']);
$crawler = new Crawler();
$buscador = new Buscador($client, $crawler);
$cursos = $buscador->buscar('/cursos-online-programacao/php');
foreach ($cursos as $curso){
echo $curso . PHP_EOL;
}
Classe Buscador.php:
<?php
namespace Alura\BuscadorDeCursos;
use GuzzleHttp\ClientInterface;
use Symfony\Component\DomCrawler\Crawler;
class Buscador
{
private ClientInterface $httpClient;
private Crawler $crawler;
public function __construct(ClientInterface $httpClient, Crawler $crawler)
{
$this->httpClient = $httpClient;
$this->crawler = $crawler;
}
public function buscar(string $url): array
{
$resposta = $this->httpClient->request('GET', $url);
$html = $resposta->getBody();
$this->crawler->addHtmlContent($html);
$elementosCursos = $this->crawler->filter('span.card-curso__nome');
$cursos = [];
foreach ($elementosCursos as $elemento) {
$cursos[] = $elemento->textContent();
}
return $cursos;
}
}