PHP Warning: fgets(): SSL: fatal protocol

BV
На сайте с 23.05.2007
Offline
7
1197

Забираю страничку через fsockopen по https протоколу

все как обычно:

while(!feof($https)){

$line = fgets($https);
...
}
все работает, но напрягает сообщение вынесенное в заголовок темы.

выдается оно при попытке чтения после последней строки. как победить?

PS. товарищи с предложением юзать курл идут сами знают куда.

39 == 0 || 0 == 39?
Shtogrin
На сайте с 02.11.2006
Offline
95
#1

Читайте доки и не посылайте товарищей.

При использовании SSL, Microsoft IIS нарушает протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в тот момент, когда вы достигнете конца данных. Чтобы обойти это, вы должны установить error_reporting на уровень, исключающий E_WARNING. PHP версий 4.3.7 и старше умеет определять, что на стороне сервера находится проблемный IIS и не выводит предупреждение.

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
Dreammaker
На сайте с 20.04.2006
Offline
569
#2
BV
На сайте с 23.05.2007
Offline
7
#3

Так в том то и дело, что

~$ php --version
PHP 5.1.6 (cli) (built: Aug 27 2006 14:59:08)

и сервер точно не IIS

к тому же error_reporting использовать не хотелось, ну да ладно. включим - выключим.

Shtogrin, если бы я не написал свой PS, сейчас бы набежало куча народа с криками: "Юзай курл и будет тебе щастье". И вразумительного ответа не получил бы еще неделю.

tommy-gung
На сайте с 22.11.2006
Offline
304
#4

можно поставить @fgets, чтобы не выводилось предупреждение

Здесь не могла быть ваша реклама

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий