|
|
|
| Знакомый слил скрипт, Говорить что он у него работает 100%. Ставлю на хос у себя не работает. Обратился в техпотдержку хоста, они вообще такое заявили что я чуть не упал, что это не РНР, а ASP поэтому он не работает.
Может кто подскажет в чем проблема.
cURL на хосте включен.
<?
class APayments
{
var $PROCES_DETAILS;
function Breakout($errno, $key="")
{
switch($errno)
{
case 1:
$this->PROCES_DETAILS["Error"] = "Error with var $key";
break;
case 2:
$this->PROCES_DETAILS["Error"] = "No vars";
break;
case 3:
$this->PROCES_DETAILS["Error"] = "Could not connect to e-gold server";
break;
}
}
function Check_vars($vars)
{
if($vars["ERROR"])
$this->PROCES_DETAILS["Error"] = $vars["ERROR"];
elseif($vars["PAYMENT_BATCH_NUM"] && $vars["PAYMENT_AMOUNT"])
$this->PROCES_DETAILS["Batch"] = $vars["PAYMENT_BATCH_NUM"];
else
$this->PROCES_DETAILS["Error"] = "Unknown error";
}
function Output($output)
{
if(preg_match_all("/<input type=hidden name=([^']*?) value=\"([^']*?)\">/", $output, $matches))
{
$num = count($matches[1]);
for($i=0;$i<$num;$i++)
{
$output_vars[$matches[1][$i]] = $matches[2][$i];
}
$this->Check_vars($output_vars);
}
else
{
$this->Breakout(2);
}
}
function Pay($data)
{
$vars = "";
foreach($data AS $key => $value)
{
if($key && $value)
$vars .= "$key=$value&";
else
$this->Breakout(1, $key);
}
if($vars)
$vars = substr($vars, 0, strlen($vars) - 1);
else
$this->Breakout(2);
$cu = curl_init();
curl_setopt($cu, CURLOPT_URL, "https://www.e-gold.com/acct/confirm.asp");
curl_setopt($cu, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($cu, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($cu, CURLOPT_POST, 1);
curl_setopt($cu, CURLOPT_POSTFIELDS, $vars);
curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cu, CURLOPT_TIMEOUT, 100);
$output = curl_exec($cu);
$succeeded = curl_errno($cu) == 0 ? true : false;
curl_close($cu);
if(!$succeeded)
$this->Breakout(3);
else
$this->Output($output);
}
}
$apayment = new APayments;
$data = Array();
$data["AccountID"] = "номер вашего аккаунта";
$data["PassPhrase"] = "Пароль от вашего аккаунта";
$data["Payee_Account"] = "Аккаунт КУДА СТАТЬ ДЕНЬГИ";
$data["Amount"] = "Сумма перевода (разделитель . )";
$data["Memo"] = urlencode(stripslashes("Opisanie perevoda"));
$data["PAY_IN"] = "1";
$data["WORTH_OF"] = "Gold";
$data["IGNORE_RATE_CHANGE"] = "Y";
$apayment->Pay($data);
echo $apayment->PROCES_DETAILS["Error"]; // possible error
echo $apayment->PROCES_DETAILS["Batch"]; // batch nr
?>
|
Выдает ошибку
[Could not connect to e-gold server/b]
пробовал не по HTTPS, а по HTTP, выдает ошибку
[b]No vars
Хочется хотя бы знать, в чем дело, в скрипте или хосте ?
Буду признателен за подсказку. | |
|
|
|
|
|
|
|
для: Valeri
(05.02.2005 в 14:05)
| | Дело в хостинге - ответ службы поддержки говорит сам за себя, кроме того после загрузки на наш хост данный скрипт работает, пишет что нет такого аккаунта, но с сервером соединяется нормально. | |
|
|
|
|
|
|
|
для: cheops
(05.02.2005 в 16:14)
| | спасибо
напишу в техпотдержку и дам сюда ссылку
посмотрим что ответят | |
|
|
|
|
|
|
|
для: Valeri
(05.02.2005 в 18:35)
| | вот что мне ответила поддержка хоста
Если вы уверены, что со скриптом все хорошо, то значит его работе мешает настройки сервера. Если скрипту мешают настройки сервера, то это значит, что в скрипте есть что-то затрагивающее безопасность сервера. Если скрипт затрагивает безопасность сервера, то нечего делать этому скрипту на сервере.
Этот сервер мы настроили более года назад, и ни у нас, ни у наших клиентов проблем со скриптами небыло и нет. Если это супервыпендрежный скрипт - то это проблемы программиста который вот это писал, а не наши.
Ответ понятен?
если можно и кто знает, подскажите из-за каких настроек сервера этот скрипт может не работать и как эти настройки могут затронуть безопасность сервера ?
или на этом хосте "очень умная поддержка" ?
заранее всем благодарен. | |
|
|
|
|
|
|
|
для: Valeri
(05.02.2005 в 20:23)
| | Ммм... а вы не может привести имя хостинга, я если честно первый раз вижу, чтобы так с клиентами общались (если конечно это не бесплатный хостинг, тогда всё нормально и в настройках и ответе :). cURL - это достаточно новая библиотека и не на всех хостингах она настрена... раньше все операции осуществлялись через сокеты (этот скрипт тоже можно переписать через сокеты), cURL просто облегчает эту задачу. На хостинге для наладки сервера судя по всему приглашали стороннего человека, а сейчас сервер просто не трогают ("работает не трогай"). Скорее всего так решили миминизировать входящий трафик, который может создавать cURL или ещё чего, если честно не знаю из каких соображений запретили. | |
|
|
|
|
|
|
|
для: cheops
(05.02.2005 в 22:25)
| | вот адрес хоста
https://www.highthost.ru/
насколько я понимаю, получается, что техподдержка совершенно не граматная в настройках и обслуживание сервера :(
так же спросил их могут ли они откомпилировать десигнер для ВМ, в общем сказали что без проблем но по времени это займет не меньше недели, хотя я не понимаю в чем тут-то проблема ?
пошла вторая неделя, все стоит на месте.
что можете посоветовать из хостов не особо дорого, с 50 метрами и грамотной поддержкой ?
вообще может что-то есть интересное и нормальное с ресселеровскими планами ? | |
|
|
|
|
|
|
|
для: Valeri
(06.02.2005 в 00:23)
| | Обсуждение платных хостингов было инициировано по теме
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1965 | |
|
|
|
|
|
|
|
для: Valeri
(05.02.2005 в 20:23)
| | Мне кажется от такой техподдержки нужно бежать, бежать и еще раз бежать =) | |
|
|
|