如何在WHM中的PHP服务器中动态创建子域


How to create subdomain dynamically in PHP server in WHM

如何在PHP中动态创建子域?我不知道该怎么解决这个问题。所以,请给我合适的解决方案或方法来解决这个问题。

使用此代码在php中创建子域**

<?php
// cpanel user
$cPanelUser='user';
// cpanel password
$cPanelPass='pass';
// Will be used if not passed via parameter and not set in subdomains file
$rootDomain='domain.com';
$subDomain=subdomain';  
$newDoman=create_subdomain($subDomain,$cPanelUser,$cPanelPass,$rootDomain);
/////////////// END OF INITIAL SETTINGS ////////////////////////
////////////////////////////////////////////////////////////////
function create_subdomain($subDomain,$cPanelUser,$cPanelPass,$rootDomain) {
//  $buildRequest = "/frontend/x3/subdomain/doadddomain.html?rootdomain=" . $rootDomain . "&domain=" . $subDomain;
    $buildRequest = "/frontend/paper_lantern/subdomain/doadddomain.html?rootdomain=" . $rootDomain . "&domain=" . $subDomain . "&dir=public_html/" . $subDomain;
    $openSocket = fsockopen('localhost',2082);
    if(!$openSocket) {
        return "Socket error";
        exit();
    }
    $authString = $cPanelUser . ":" . $cPanelPass;
    $authPass = base64_encode($authString);
    $buildHeaders  = "GET " . $buildRequest ."'r'n";
    $buildHeaders .= "HTTP/1.0'r'n";
    $buildHeaders .= "Host:localhost'r'n";
    $buildHeaders .= "Authorization: Basic " . $authPass . "'r'n";
    $buildHeaders .= "'r'n";
    fputs($openSocket, $buildHeaders);
    //while(!feof($openSocket)) {
    fgets($openSocket,128);
    //}
    fclose($openSocket);
    $newDomain = "http://" . $subDomain . "." . $rootDomain . "/";
    return $subDomain;
//  return "Created subdomain $newDomain";
}
?>

**