curl не всегда имеет обновленные корневые сертификаты SSL, как ваш браузер.
Добавьте следующую опцию, чтобы преуспеть.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Код для функции grab_page становится таким.
function grab_page($site)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_URL, $site);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
return curl_exec($ch);
}
echo grab_page("https://effect.ai/");