В вашем экземпляре PHP не установлено расширение OpenSSL, поэтому оболочка https://
недоступна.
Из руководства :
Примечание: HTTPS поддерживается только при включенном расширении openssl.
И
Чтобы использовать поддержку OpenSSL в PHP, вы также должны скомпилировать PHP --with-openssl [= DIR].
Вам нужно будет перекомпилировать PHP с расширением OpenSSL.
В качестве альтернативы, как предлагают другие, вы можете заменить https://
на http://
, что для изображений Facebook должно работать так же хорошо - на самом деле, это может быть быстрее и, безусловно, будет более эффективно использовать пропускную способность.
Я бы сделал это так:
$url = 'https://facebook.com/path/to/image.jpg';
$url = trim($url); // Get rid of any accidental whitespace
$parsed = parse_url($url); // analyse the URL
if (isset($parsed['scheme']) && strtolower($parsed['scheme']) == 'https') {
// If it is https, change it to http
$url = 'http://'.substr($url,8);
}
Еще один момент, связанный с этим, заключается в том, что передача $url
непосредственно в getimagesize()
, вероятно, не то, что вы хотите делать. Маловероятно, что единственное, что вы будете делать с изображением, это получить его размер, вы, вероятно, будете отображать его на своей странице или иным образом манипулировать им, и в этом случае вы в конечном итоге загрузите его несколько раз.
Вам, вероятно, следует загрузить его во временный каталог, а затем поработать с его локальной копией.