loop 0 Zgłoś post Napisano Marzec 18, 2005 od dłuższego czasu próbuje założyć konto przy użyciu funkcji WHM: createacct z marnym skutkiem :cry: niestety. Jeżeli ktos mi powie gdzie jest błąd będe bardzo happy :-D Spłodziłem coś takiego: <? require ('/usr/local/cpanel/Cpanel/Accounting.php.inc'); # config dostepu do WHM $whm_host="localhost"; $whm_user="moj_whm_user"; $whm_usessl="1"; $whm_key="moj_accesshash"; # parametry zakładanego konta $acc_login="user1"; $acc_pass="passusera1"; $acc_plan="plan1"; $acc_domain=$acc_login.".mojadomena.pl"; # zakładanie konta $status = createacct($whm_host,$whm_user,$whm_key,$whm_usessl,$acc_domain,$acc_login,$acc_pass,$a cc_plan); echo $status; ?> przegooglałem sporo for i wydaje mi się ze ten kod jest OK, ale niestety nie działa :-( . Próbowałem z SSL lub bez, zamiast localhost nazwe domeny serwera, nazwa planu zgadza się z tą listowaną w WHM, takie samo konto moge założyć ręcznie z WHM, więc oco chodzi ?! $status niezwraca mi dokładnie nic ! Udostępnij ten post Link to postu Udostępnij na innych stronach
okitoki 0 Zgłoś post Napisano Kwiecień 17, 2005 twój problem jest w tym że błędy nie są wyświetlane, a to że ci nie działa mogą być 3 powody 1) Nie zabardzo chce to działać pomiędzy 2 serwerami z WHM/CPanel (wiec zrób to na danym serwerze lub z domowego komputera) 2) brak dostępu do '/usr/local/cpanel/Cpanel/Accounting.php.inc' 3) podajesz zły $whm_key, tan klucz znajdziesz w WHM, wygląda to tak //Current Access Key: //------BEGIN WHM ACCESS KEY------ $whm_key="8e0260fe27aef1bcedcef7f7d5cfb45b cc7613c825ee50c3f70e10eeafcb8c91 1037dce2a9decde316529400be6f118c 5f82a764a2aba8383b656c3496d36a08 255ce6d3278b91dbf8f0bd8fd18df733 c671cf6edf291f0d2c7f1c4645c348a6 fd1932daa23bcfd6d2ffc504382b348d 02fd88d1534dd5b209925a23dd3ff634 3ff5911596826f6ef86e2668f3a70090 800278844da52797a6bb54a64f3dc1d8 a089cc23fdf8d7e6c60aa422e1774240 cbf515f53afeb622fb4439914e1011d1 2a1d4e983196a99dd4f7059684d53435 8c4353dbbc9380f68c73e212f9079f5e efe6457e154c95f8f5d073e8b938658d c7201289e12e1132f367c4e6c2fc079d 6f0a488573c8814432da9e5c7016efd3 7147d7013302838552569532785411e1 52f1c7d27ff4081650472bbb38fbd019 0400c7dc3443a7d3bca4d89195fd64e6 084b0b4931222842085e94362df80912 024b2195c9b27241ab398045f64f9d59 7425d604097fe2a9539315d6796471ae 43113c3707af8daac279a11r4c4af431 8e626aa20b64051d9c58a7c1b421c95b c9476cf715f01840748a5126a5d19fff 1346abd31e0d1fc494f05d75649a617c 097c7c12fce6c57767125818345dabbd 966f38c08677e64a073a23dd1ffd24ae"; //-------END WHM ACCESS KEY------- a oto biblioteka do której mozesz nie mieć dostępu "Accounting.php.inc" <?php global $cpanelaccterr; function suspend ($host,$user,$accesshash,$usessl,$suspenduser) { $result = whmreq("/scripts/remote_suspend?user=${suspenduser}",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } return $result; } function unsuspend ($host,$user,$accesshash,$usessl,$suspenduser) { $result = whmreq("/scripts/remote_unsuspend?user=${suspenduser}",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } return $result; } function killacct ($host,$user,$accesshash,$usessl,$killuser) { $result = whmreq("/scripts/killacct?user=${killuser}&nohtml=1",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } return $result; } function showversion ($host,$user,$accesshash,$usessl) { $result = whmreq("/scripts2/showversion",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } return $result; } function createacct ($host,$user,$accesshash,$usessl,$acctdomain,$acctuser,$acctpass,$acctplan) { $result = whmreq("/scripts/wwwacct?remote=1&nohtml=1&username=${acctuser}&password=${acctpass}&domain=${acctdomain}&plan=${acctplan}",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } return $result; } function listaccts ($host,$user,$accesshash,$usessl) { $result = whmreq("/scripts2/listaccts?nohtml=1&viewall=1",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } $page = split("n",$result); foreach ($page as $line) { list($acct,$contents) = split("=", $line); if ($acct != "") { $allc = split(",", $contents); $accts[$acct] = $allc; } } return($accts); } function listpkgs ($host,$user,$accesshash,$usessl) { $result = whmreq("/scripts/remote_listpkg",$host,$user,$accesshash,$usessl); if ($cpanelaccterr != "") { return; } $page = split("n",$result); foreach ($page as $line) { list($pkg,$contents) = split("=", $line); if ($pkg != "") { $allc = split(",", $contents); $pkgs[$pkg] = $allc; } } return($pkgs); } function whmreq ($request,$host,$user,$accesshash,$usessl) { $cleanaccesshash = preg_replace("'(r|n)'","",$accesshash); $authstr = $user . ":" . $cleanaccesshash; $cpanelaccterr = ""; if (function_exists("curl_init")) { $ch = curl_init(); if ($usessl) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch, CURLOPT_URL, "https://${host}:2087" . $request); } else { curl_setopt($ch, CURLOPT_URL, "http://${host}:2086" . $request); } curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $curlheaders[0] = "Authorization: WHM $authstr"; curl_setopt($ch,CURLOPT_HTTPHEADER,$curlheaders); $data=curl_exec ($ch); curl_close ($ch); } elseif (function_exists("socket_create")) { if ($usessl) { $cpanelaccterr = "SSL Support requires curl"; return; } $service_port = 2086; $address = gethostbyname($host); $socket = socket_create (AF_INET, SOCK_STREAM, 0); if ($socket < 0) { $cpanelaccterr = "socket_create() failed"; return; } $result = socket_connect ($socket, $address, $service_port); if ($result < 0) { $cpanelaccterr = "socket_connect() failed"; return; } $in = "GET $request HTTP/1.0n"; socket_write($socket,$in,strlen($in)); $in = "Connection: closen"; socket_write($socket,$in,strlen($in)); $in = "Authorization: WHM $authstrnnn"; socket_write($socket,$in,strlen($in)); $inheader = 1; while(($buf = socket_read($socket, 512)) != false) { if (!$inheader) { $data .= $buf; } if(preg_match("'rnrn$'s", $buf)) { $inheader = 0; } if(preg_match("'nn$'s", $buf)) { $inheader = 0; } if(preg_match("'rn$'s", $buf)) { $inheader = 0; } } } else { $cpanelaccterr = "php not compiled with --enable-sockets OR curl"; return; } return $data; } ?> jezeli nie widzisz błędów, to poszukaj w cpanelu, posiada logi błędów Udostępnij ten post Link to postu Udostępnij na innych stronach
loop 0 Zgłoś post Napisano Kwiecień 17, 2005 problem sie okazał w samym serwerze. Jaki niewiem, ale po przeniesieniu na inny dziala. Dzięki za źródło accounting.php - sie przyda Udostępnij ten post Link to postu Udostępnij na innych stronach