cPanel is a cool software and allows you to automate many things.
If you want to check if a username exists you can use accountsummary API call.
$ip = "127.0.0.1"; // should be server IP address or 127.0.0.1 if local server $port = 2087; // cpanel secure authentication port unsecure port# 2082 $cp_username = 'user'; $cp_passwd = 'pass'; $username = 'some_cpanel_user'; $xmlapi = new xmlapi($ip); $xmlapi->set_port($port); //set port number. cpanel client class allow you to access WHM as well using WHM port. $xmlapi->password_auth($cp_username, $cp_passwd); // authorization with password. not as secure as hash. $xmlapi->set_debug(1); //output to error file set to 1 to see error_log. $xml_res = $xmlapi->accountsummary( $username ); $yes = ! empty( $xml_res->status );
Response
object(SimpleXMLElement)#3 (3) {
["acct"]=>
object(SimpleXMLElement)#4 (31) {
["backup"]=>
string(1) "0"
["disklimit"]=>
string(9) "unlimited"
["diskused"]=>
string(2) "0M"
["domain"]=>
string(26) "orbisius.com"
["email"]=>
string(9) "*unknown*"
["ip"]=>
string(13) "1.2.3.4"
["is_locked"]=>
string(1) "0"
["legacy_backup"]=>
string(1) "0"
["max_defer_fail_percentage"]=>
string(9) "unlimited"
["max_email_per_hour"]=>
string(9) "unlimited"
["maxaddons"]=>
string(9) "*unknown*"
["maxftp"]=>
string(9) "*unknown*"
["maxlst"]=>
string(9) "unlimited"
["maxparked"]=>
string(9) "*unknown*"
["maxpop"]=>
string(9) "unlimited"
["maxsql"]=>
string(9) "unlimited"
["maxsub"]=>
string(9) "unlimited"
["min_defer_fail_to_trigger_protection"]=>
string(1) "5"
["outgoing_mail_hold"]=>
string(1) "0"
["outgoing_mail_suspended"]=>
string(1) "0"
["owner"]=>
string(5) "weeuu"
["partition"]=>
string(4) "home"
["plan"]=>
string(11) "weeuu_plan1"
["shell"]=>
string(29) "/usr/local/cpanel/bin/noshell"
["startdate"]=>
string(15) "16 Apr 29 17:40"
["suspended"]=>
string(1) "0"
["suspendreason"]=>
string(13) "not suspended"
["suspendtime"]=>
string(1) "0"
["theme"]=>
string(13) "paper_lantern"
["unix_startdate"]=>
string(10) "1461966001"
["user"]=>
string(2) "w1"
}
["status"]=>
string(1) "1"
["statusmsg"]=>
string(2) "Ok"
}
Related links:
- https://github.com/CpanelInc/xmlapi-php
- https://documentation.cpanel.net/display/SDK/WHM+API+1+Functions+-+accountsummary
Referral Note: When you purchase through a referral link (if any) on this page, we may earn a commission.
If you're feeling thankful, you can buy me a coffee or a beer