Я пытаюсь использовать getimagesize с URL-адресом, и с http все в порядке. Однако при попытке использовать функцию на https url я получаю сообщение «Read error» и false как результат. Я проверил, и у меня установлен OpenSSL 0.98 на сервере (так что он должен работать и с https). Я знаю, что сначала могу загрузить изображение, а потом использовать его, но мне кажется, что это должно работать и что я чего-то не хватает. Не могли бы вы предоставить мне некоторое решение (кроме загрузки изображения сначала, а затем его открытия)?
Заранее спасибо.
Вы можете использовать file_get_contents()
в качестве альтернативного решения.
<?php $filename='something'; file_put_contents($filename,file_get_contents($url)); $size = getimagesize($filename); var_dump($size);
-<?php $filename='something'; file_put_contents($filename,file_get_contents($url)); $size = getimagesize($filename); var_dump($size);
Обновление OpenSSL может решить вашу проблему.
Судя по версии OpenSSL, которую вы сообщаете на сервере, эта проблема может быть вызвана сервером, имеющим более новую версию SSL, чем ваш клиент.
Возможно, сервер Facebook использует версию> = 1.0.0 или пользовательскую библиотеку SSL, в то время как вы используете старую версию 0.9.8.
Проблема переполнения Heartbeat заставила многие веб-серверы обновить свою версию OpenSSL.
Случайная статья о проблемах рукопожатия OpenSSL 1.0.0 с клиентами с использованием версии 0.9.8: