Никто не сталкивался с установкой on-line магазина с использованием wmsigner? Ну никак не совладать - php-скрипт выдает ошибки:
Warning: popen(./WMSigner,r+) [function.popen]: Invalid argument in /home/xxx/public_html/wm.inc on line 38
Warning: fwrite(): supplied argument is not a valid stream resource in /home/xxx/public_html/wm.inc on line 41
Warning: fgets(): supplied argument is not a valid stream resource in /home/xxx/public_html/wm.inc on line 42
Warning: pclose(): supplied argument is not a valid stream resource in /home/xxx/public_html/wm.inc on line 43
Что бы это значило?
http://forum.webmoney.ru/asp/n_message.asp?idcl=21&MessageID=22077
У меня то же самое.
Пробывал все примеры, которые опубликованы на форуме webmoney. То вообще пустую строку возвращает, то пишет, какуе-то лабуду. Замучился уже. Как
правидьно все это дело настроить?
Если правильно помню, r+ надо просто на r заменить (убрать плюсик).
Неправильно помните. Этого недостаточно.
Ок, тогда привожу пример, который реально работает:
function _GetSign($inStr) {
$inStr=EscapeShellCmd($inStr);
$fp = popen("echo $inStr 04 | ./WMSigner", "r" );
$s = fgets($fp, 133 );
pclose($fp);
return $s;
}
to support
Так какой код работает на Вашем хостинге а то всё дело встало
ЗЫ: ссылки не давайте уже всё прочитал лучше сам код напишите
Смотря на каком сервере.
И код чего вас интересует? _GetSign? Вышеприведенный работает без проблем. (Если все настроено правильно.)
Цитата: |
Нечего настраивать? Ну так значит у вас все работает? Ну и хорошо.
Цитата: |
Забыл
А как проверить работает он или нет
какой командой а то в скриптах пишет не правильная подпись
Создаете WMSigner.cgi (права - 755)
Код: |
У меня такая же проблема.
Можете сами позырить http://195.161.118.119/~azartnet/demo.php
Я так думаю, что скрипт не может прочесть Wmsigner.
Тепеть другая проблема.
WMSigner не генерирует строку http://195.161.118.119/~azartnet/demo.php
Аноним, раз уж вы себе завели отдельную тему, отвечаю вам там http://ruweb.net/forum/viewthread.php?tid=525
На хостингах с включенным safe_mode (а значит и на наших новых серверах с DirectAdmin) следует использзовать следующий вариант
Код: |
А кто может подсказать что за ошибка '-3' которую возвращает функция _GetSign ????
кажется это когда пароль от WM-идентификатора неправильный или когда файл с ключем не удается прочитать.
Ваша правда.
Но тогда возникает еще одна проблема. Функция возвращает пустое значение. Что не так:
________________________
function _XMLReq($addr)
{
$ch = curl_init("https://w3s.webmoney.ru/asp/XMLPurses.asp"
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $addr);
$fp = tmpfile();
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
$result = "";
fseek($fp,0,SEEK_SET);
while (!feof($fp))
{
$result = fgets($fp,128);
}
fclose($fp);
return $result;
}
_____________________________
??????????????
http://forum.ruweb.net/viewthread.php?tid=968
Я не совсем понимаю всю данную процедуру, но там рассматривалась другая функция (function _HttpsReq($addr) )
Или здесь нет особой разницы???
особой - нет. суть проблемы одна и та же.
===
function _XMLReq($addr){
$ch = curl_init("https://w3s.webmoney.ru/asp/XMLPurses.asp");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $addr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CAINFO, 'WMRA.cer');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
===
думаю так
Спасибо, все именно так!!!
у меня проблема я чайник короче уже где-то месяц или два лазию по вашим форумам туда и сюда как я понял у меня PHP на сервере работает в режиме Safe
Mode, так как у меня есть DirectAdmin.
Защитил каталог со скриплами файлом .htaccess
и вписал в него со злости:
Deny All
сделал это я правильно?
и ещё нашел такой текст
-----------------------------------------------------
Кстати, из под mod_php вы в любом случае ничего своего запустить не сможете. Там можно использовать только наш WMSigner.
-----------------------------------------------------
Это как понять "наш WMSigner"?
где он лежит или вообще есть пример со всем необходимым (разумеется кроме файла с ключами)
мой сайт http://baksik.ru
документацию всю на форуме и на WebMoney прочитал,
при использовании скрипта:
<?
include("wm.inc"
echo _GetSign("demo"
list($wmtrn_n, $err) = TransCreate("Z677558851278", "0.01", "55555555555", "test"
Print "<p>$wmtrn_n</p><p>$err</p>";
?>
выдает браузер:
Error 130.
Ошибка связи с сертификационным центром WebMoney
что эта такое в чем причина?
Цитата: |
Код: |
Цитата: |
Где взять откомпилированный WMsinger для вашего хостинга?
Или как его самому скомпилировать?
Я какой то выложил, вроде для вашего, но он не дает подпись.
Да. я еще указваю авбсолютный путь до wmsinger. А я его расположил в domains. Он ничего не выдает .
надо указывать именно так, как в примере выше. Если WMSigner, вдруг, не установлен на Вашем сервере - укажите сервер - поставим.
и всегда пишите имя своего сайта и номер Вашего акаунта в биллинге. Серверов для шаред хостинга у нас больше десяти....