使用 PHP 动态创建子域的简单方法

问题描述 投票:0回答:3

我想知道如何设置一个自动且轻型的 PHP 为我的数据库中的每个用户创建子域? 这可能吗?

php dns subdomain
3个回答
2
投票
<?php
$domainName = 'example.com';
    $subDomainName =  'demo';
     $subDomain = $subDomainName;
    $cPanelUser = 'cpanel_user_name';
    $cPanelPass = 'cpanel_pass';
    $rootDomain = $domainName;
    
    $buildRequest = "/frontend/paper_lantern/subdomain/doadddomain.html?rootdomain=" . $rootDomain . "&domain=" . $subDomain . "&dir=public_html/$domainName/$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);
     
    echo $newDomain = "http://" . $subDomain . "." . $rootDomain . "/";
?>

0
投票

你确定可以去http://vikku.info/programming/php/create-subdomain-dynamically-in-php-code-to-create-subdomains-in-server-using-php.htmhttp://www.phpclasses.org/browse/file/17134.html

只需配置添加子域名、cpanel 用户名、cpanel 密码、域名等设置即可。

例如

如果您的子域名是 test.example.com

create_subdomain("test","CPANEL_USERNAME","CPANEL_PASSWORD","example.com");


0
投票

您可以使用

/execute/SubDomain/addsubdomain
以编程方式创建子域。查看此cPanel文档以获取更多信息。

function create_subdomain($subDomain,$cPanelUser,$cPanelPass,$rootDomain) {
   $subdomainRequest = "/execute/SubDomain/addsubdomain?domain=" . $subDomain  . "&rootdomain=" . $rootDomain . "&dir=public_html/" . $subDomain . ".". $rootDomain;
 
    $openSocket = fsockopen('localhost',2082);
    if(!$openSocket) { return "Socket error";exit();}
 
    $authString = $cPanelUser . ":" . $cPanelPass;
    $authPass = base64_encode($authString);
    
    $buildHeaders  = "GET " . $subdomainRequest."\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 "Created subdomain $newDomain";
}
echo create_subdomain("Subdomain","cPanel-Username","cPanel-Password","Root-Domain");
© www.soinside.com 2019 - 2024. All rights reserved.