Реклама на сайте Advertise with us

Php5 - 500 ошибка

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

programmer

С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760

Ссылка на сообщениеДобавлено: 19/01/09 в 17:57       Ответить с цитатойцитата 

скрипт - прокси чекер, работает через CURL
php5 подключен как модуль cgi
CURL затыкается, много чего пробовал, если без прокси в целом все работает.
подключаю через крон:
Цитата:
PHP Fatal error: Uncaught exception 'Exception' with message 'CURL ERROR: couldn't connect to host' in /home/i/..../curl.php:338
Stack trace:
#0 /home/i/..../curl.php(260): Curl->mr_after_exec(false)
#1 /home/i/..../library.php(25): Curl->exec()
#2 /home/i/..../check.php(15): page_connect(Array)
#3 {main}
thrown in /home/i/..../curl.php on line 338
Status: 500 Internal Server Error
X-Powered-By: PHP/5.2.5
Content-type: text/html

где копать?

крипта на ByBit

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 19/01/09 в 18:14       Ответить с цитатойцитата 

1. не та версия екстеншина CURL
2. попробуй CURL для "разрешённых" портов на твоём хостинге (хотя, если исп. трассировка соединений, это ничего не покажет)
3. что говорит суппорт? ;)

8
 

programmer

С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760

Ссылка на сообщениеДобавлено: 19/01/09 в 18:16       Ответить с цитатойцитата 

1. не понял
2. дык часть отрабатывает - не отрабатывает на прокси у которых затык
3. саппорт еще не спрашивал

крипта на ByBit

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 19/01/09 в 19:31       Ответить с цитатойцитата 

ну CURL ERROR: couldn't connect to host, а вот почему он не может приконнектиться - хз, шелл на хостинг есть? если просто в шелле telnet IP PORT "проблемной" прокси, на который вылетает... и потом уже суппорт напрягать что б разрешили исходящие коннекты на нужные порты (эт если телнет НЕотработает)

а 500 ошибка, здесь исключительно из-за того, что Uncaught exception, то есть, когда CURL не может чего-то, то он бросает ексепшн, который вы в скрипте не "ловите".

имхо нужно проверять телнетом, и от результатов уже плясать

зы: отпишитесь плиз потом о решении проблемы, ок?

0
 

programmer

С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760

Ссылка на сообщениеДобавлено: 19/01/09 в 19:35       Ответить с цитатойцитата 

сейчас на денвере попробую

крипта на ByBit

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 19/01/09 в 19:53       Ответить с цитатойцитата 

в общем, если я правильно понял проблему и окружение выполнения(например, если на хостинге всё разрешено), кастомный враппер (класс Curl) CURL бросает этот эксепшн, ессно, когда он не может приконнектиться к проксе, то есть она дохлая прокся и в блек-лист её...
зы: реализация Curl ваша? посмотрите просто инфу/наследуйте от этого класса, если нет встроенных дебаговых ф-ций и var_dump($e) - то есть того ексепшина, который выбрасывает этот класс
зы: хотя, навряд ли она будет отличаться от: CURL ERROR: couldn't connect to host' in /home/i/..../curl.php:338

0
 

programmer

С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760

Ссылка на сообщениеДобавлено: 19/01/09 в 19:55       Ответить с цитатойцитата 

Код:
        if(curl_errno($this->_ch))

        {

           throw new Exception("CURL ERROR: ".curl_error($this->_ch),curl_errno($this->_ch));

        }

экцепшен нигде в коде не обрабатывается

крипта на ByBit

0
 



С нами с 23.12.08
Сообщения: 232
Рейтинг: 101

Ссылка на сообщениеДобавлено: 19/01/09 в 20:36       Ответить с цитатойцитата 

int curl_errno ( resource $ch )
Возвращает код ошибки для последней операции cURL с дескриптором ch, или 0 (ноль), если ошибки не было.


то есть, этот класс просто проверяет результат выполнения последней CURL - ф-ции. Что это за последняя ф-ция однозначно сказать невозможно, так как вы юзаете враппер (согласно лога стека, ошибка может быть или в curl_exec() или в обёртке Curl->mr_after_exec() ), хотя, скорее-всего, что имплементация Curl->exec() просто не коннектится к проксе.

В общем, попробуйте telnet на эту проблемную проксю из шелла на хостинге. Если не коннектится - откажитесь от этого класса (Curl) и просто юзайте и обрабатуйте значения возвращаемые ф-циями CURL напрямую.

теги:
CURL: http://ua2.php.net/manual/ru/book.curl.php
CURL-Wrapper с "нормальной документаций" (PEAR): http://pear.php.net/package/Net_Curl

0
 

programmer

С нами с 08.12.02
Сообщения: 7613
Рейтинг: 5760

Ссылка на сообщениеДобавлено: 19/01/09 в 21:10       Ответить с цитатойцитата 

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

крипта на ByBit

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/01/09 в 02:33       Ответить с цитатойцитата 

Нечего само по себе разорвать не может, либо ты не разобрался с таймаутами в CURL, либо из крона запускал скрипт в стиле wget /bla/bla/myscript.php

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »