Что использовать вместо fsockopen?

Статус
В этой теме нельзя размещать новые ответы.

pslava

Постоялец
Регистрация
16 Май 2007
Сообщения
618
Реакции
134
У хостера прикрыта возможность работать через fsockopen, выдает 500-ю ошибку. Что можна использовать вместо этого?
 
socket_connect
cURL
 
file_get_contents
Это из другой оперы но часто можно использовать в тех же целях.
Вот подробнее Для просмотра ссылки Войди или Зарегистрируйся
 
У хостера прикрыта возможность работать через fsockopen, выдает 500-ю ошибку. Что можна использовать вместо этого?

запрет fsockopen равно как и любой другой функции не приводит к ошибке 500. где именно получаешь ошибку?

вебсервер показывает 500-ю ошибку при запуске пхп скрипта, если скрипт что-то намутил с заголовками. если хостер действительно запретил функцию fsockopen, возможно кривая сборка пхп выдает сообщение об ошибке перед заголовками, и поэтому ты видишь ошибку 500. но такое объяснение крайне неправдоподобно.

как вариант для http аналогом fsockopen может быть fopen (если allow_url_fopen=on). пример: $f=fopen('hxxp://cauT.Py/index.html','rb'); и потом fread-ом читать как $f обычный файл. ну или file_get_contents (опять же должно быть allow_url_fopen=on)


п/с/ если же хостер вообще запретил клиентским скриптам создавать удаленные соединения - то тут уж ничто не поможет.
 
Ошибка возникает именно на fsockopen (возвращает не FALSE) и при последующем вызове fwrite отваливается, причем вытащить ошибку при этом не удается, нужен аналог этих функций чтоб можно было отсылать заголовки и получать результат
 
Как определил, что именно fsockopen дает 500?
Если добавлением/убиранием этого куска кода - то стучи к хостеру. Пусть делает ревизию php-шника. Ибо это есть ошибка не твоя...

А еслиб закрыты коннекты на внешку - то отдавало бы false или ошибочку в стиле php (не ошибку сервера).
 
Ошибка может возникать в 2-х случаях:
1) Сервер настроен так(например тот же nigx) что он режет большое кол-во соединений и выдаёт ошибку 500.
2) Ты делаешь просто неправильный запрос, скорее всего это битые заголовки, возьми любой работающий пример заголовков и попробуй просто спарсить любую страницу.
 
PHP:
<?php
header('Content-type: text/plain');
error_reporting(E_ALL);
ini_set('display_errors',true);
echo ini_get('disable_functions');
echo ini_get('suhosin.executor.func.blacklist');
Делать выводы. Если функция там появится, значит она запрещена для вызова.
 
вопрос решен, проблема была в правах на папку, стояло 777, а помогло 755
 
вопрос решен, проблема была в правах на папку, стояло 777, а помогло 755
:confused: хм... что не понят вроде 777 это без ограничений а 755 наоборот ограничения ну да ладно...

Кстати у меня тажа проблема с fsockopen
но без пятисотой ошибки

на сайте inetlog.ru у них html счетчик и php счетчик
вот php у них используется с fsockopen (отлавливает ботов)

хостер говорит что fsockopen отключён
хотя пробовал другими скриптами вроде работает,
открывает на маем сайте чужие страницы
а php счетчик не работает :nezn:

из темы я что-то не понял как заменить fsockopen
на что-то другое, помогите разобраться что да как :thenks:

Добавлено через 4 минуты
вот кстати кусочек кода php скрипта

PHP:
$ag = $_SERVER["HTTP_USER_AGENT"];
if (strstr($ag, 'Google') || strstr($ag, 'Yandex') || strstr($ag, 'YaDirectBot') || strstr($ag, 'Rambler')) {
  $fp = @fsockopen("inetlog.ru", 80, $errno, $errstr, 10);
  if($fp) {
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху