Nhờ @Alex C đã giúp tôi đi đúng hướng. Sau đây sẽ làm việc với nhiều kế hoạch lưu trữ được chia sẻ, nhưng bạn sẽ muốn kiểm tra với chính sách của họ về điều này trước tiên.
Trong ví dụ bên dưới, tôi đã mua root.com làm miền gốc chính của gói lưu trữ được chia sẻ của tôi. Sau đó, tôi đã có thể muốn thêm vào một tên miền được gọi là addon.com. Tôi thiết lập tên người dùng để addon_user và vượt qua để addon_pass. Đồng thời, tôi đã đặt các tệp cho miền mới trong public_html/addon.com. Để kết nối với Cpanel để thực hiện điều này, tôi đã nhập URL trang chủ cpanel (thay đổi theo gói lưu trữ) để có thể phân tích cú pháp và sử dụng lại. Ngoài ra, tôi cung cấp thông tin người dùng cpanel/pass của root.com của tôi là root_user và root_pass.
Câu lệnh echo cuối cùng chỉ là phản hồi đầu ra cho dù nó có hoạt động hay không. Tuy nhiên, nếu bạn muốn phân tích cú pháp lỗi đó, bạn có thể phân tích cú pháp cụm từ "không được thêm".
Lưu ý một số gói lưu trữ chặn file_get_contents kết nối với URL, vì vậy bạn có thể phải chuyển đổi với fopen ($ sURL, 'r') hoặc API Curl.
<?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";
Vì vậy, cổng là năm 2083 và không phải là 1084 như Alex C gợi ý, chỉ để biết nguyên nhân tôi cũng quan tâm đến điều này. –
Trên thực tế, đôi khi cổng được thay đổi bởi nhà cung cấp dịch vụ lưu trữ web, cũng như URL trang chủ cho cPanel. – Volomike