如何以编程方式在共享主机方案上创建插件域

Vol*_*ike 5 php dns shared-hosting add-on cpanel

在使用cpanel管理的基于Linux的共享主机上,如果我知道我的cpanel登录信息和/或FTP信息,是否有一种编程方式可以为我的网站创建可靠的插件域?

注意:在这种情况下对PHP和cpanel感兴趣.

Vol*_*ike 10

感谢@Alex C让我走上正轨.以下内容适用于许多共享主机方案,但您首先需要检查其策略.

在下面的示例中,我已经购买了root.com作为我的共享主机方案的主要根域.然后,我希望添加一个名为addon.com的域名.我将用户名设置为addon_user,将pass设置为addon_pass.同样,我将新域的文件放在public_html/addon.com中.要连接到Cpanel以实现此目的,我输入了一个cpanel主页URL(随主机方案而变化),以便可以对其进行解析和重用.另外,我以root_user和root_pass的形式提供了root.com的cpanel用户/传递信息.

最后一个echo语句只是输出响应,无论它是否有效.但是,如果要解析它失败,您可能可以解析短语"未添加".

请注意,某些托管计划阻止了连接到URL的file_get_contents,因此您可能必须使用fopen($ sURL,'r')或Curl API进行切换.

<?php

// @ input vars - change these as you see fit
$sPastedCpanelHomepageURL = 'https://root.com:2083/frontend/x3/index.html';
$sNewDomain = 'addon.com';
$sNewDomainUser = 'addon_user';
$sNewDomainPass = 'addon_pass';
$sNewDomainFolder = 'public_html/addon.com';
$sCPanelUser = 'root_user';
$sCPanelPass = 'root_pass';

// @ processing
$sCP = dirname($sPastedCpanelHomepageURL);
$sCP = str_replace('://','://' . $sCPanelUser . ':' . $sCPanelPass . '@',$sCP);

$sTask = '/addon/doadddomain.html?';

$sNewDomain = urlencode($sNewDomain);
$sNewDomainUser = urlencode($sNewDomainUser);
$sNewDomainPass = urlencode($sNewDomainPass);
$sNewDomainFolder = urlencode($sNewDomainFolder);
$sCPanelUser = urlencode($sCPanelUser);
$sCPanelPass = urlencode($sCPanelPass);

$asData = array(
  'domain' => $sNewDomain,
  'user' => $sNewDomainUser,
  'dir' => $sNewDomainFolder,
  'pass' => $sNewDomainPass,
  'pass2' => $sNewDomainPass
);
$sData = http_build_query($asData);

$s = file_get_contents($sCP . $sTask . $sData);

echo "$s\n";
Run Code Online (Sandbox Code Playgroud)


Mar*_*aio 7

你可以使用cPanel API,doc就在这里.它不是那么容易阅读,如果你想用PHP玩它们你可以使用免费的PHP类(在幕后使用这些API),有些在cPanel论坛上,其他一些在这里.