如何使用 PHP 检索我域的所有子域

How to retrieve all subdomains of my domain with PHP

它们是动态创建的子域。我不知道名称和它们的数量,我需要循环域以获取所有子域,所以我是这样的

foreach domain as subdomain{
 // do something
}

可以用PHP完成吗?

已经2天了,所以结论是PHP暂时没办法了

对于所有人,如果您遇到同样的问题,请尝试使用 PHP 自动检索多站点 Wordpress 子域,您可以忘记它,暂时 您应该手动处理所有子域

要获取所有子域(以及其他域,但您可以排除它们),您可以 glob() /var/www/ 文件夹。

function get_subdomains() {
    $domain_list = glob('/var/www/', GLOB_ONLYDIR);
    $domains = array();
    
    foreach($domain_list as $domain) {
        try {
            $domain_ = str_replace('/var/www', '', $domain);
            $domain = explode('.', $domain_)[1] +
                      '.' + 
                      explode('.', $domain_)[2];
        
            if($domain == $_SERVER['SERVER_NAME']) {
                array_push($domains, domain_);
            }
        } catch() {}
    }
    
    return $domains;
}