Спасибо @Alex C, который поставил меня на правильный путь.Следующее будет работать со многими планами общего хостинга, но вы сначала захотите проверить их политику.
В приведенном ниже примере я бы уже купил root.com в качестве основного корневого домена моегоплан виртуального хостинга.Тогда я бы хотел добавить домен под названием addon.com.Я установил имя пользователя на addon_user и пароль на addon_pass.Также я разместил файлы для нового домена в public_html / addon.com.Чтобы подключиться к Cpanel, я ввел URL-адрес домашней страницы cpanel (зависит от плана хостинга), чтобы ее можно было проанализировать и использовать повторно.Кроме того, я предоставил информацию о пользователях / проходах cpanel для root.com в качестве root_user и root_pass.
Последний оператор echo - это просто выходной ответ, сработал он или нет.Однако, если вы хотите проанализировать его на предмет неудачи, вы, вероятно, можете проанализировать фразу «не добавлено».
Обратите внимание, что некоторые планы хостинга блокируют file_get_contents при подключении к URL, поэтому вам, возможно, придется переключиться с помощью 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";