В этой статье мы рассмотрим различные способы установки версии PHP для домена с помощью WHM API. API WHM (Web Host Manager) предоставляет мощный набор инструментов для управления учетными записями веб-хостинга, включая возможность настройки версий PHP. Мы обсудим различные подходы и предоставим примеры кода, которые помогут вам понять и эффективно реализовать эти методы.
Метод 1: использование функций PHP WHM API
API WHM предоставляет специальные функции PHP, которые позволяют программно взаимодействовать с системой WHM. Одна из этих функций — set_domain_php_version()
. Вот пример того, как вы можете использовать эту функцию для установки версии PHP для домена:
<?php
$domain = 'example.com';
$version = '7.4';
$api_username = 'your_api_username';
$api_password = 'your_api_password';
$url = "https://your-whm-server.com:2087/json-api/cpanel";
$data = [
'cpanel_jsonapi_user' => $api_username,
'cpanel_jsonapi_apiversion' => 3,
'cpanel_jsonapi_module' => 'whm',
'cpanel_jsonapi_func' => 'set_domain_php_version',
'cpanel_jsonapi_params' => [
'domain' => $domain,
'version' => $version
]
];
$options = [
'http' => [
'header' => "Authorization: Basic " . base64_encode("$api_username:$api_password"),
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === false) {
// Handle error
} else {
// Handle success
}
?>
Метод 2: использование API cPanel 2
Другой подход — использовать API cPanel 2, доступ к которому осуществляется через API WHM. Вы можете использовать функцию php_set_vhost_versions
, чтобы установить версию PHP для домена. Вот пример:
<?php
$domain = 'example.com';
$version = '7.4';
$api_username = 'your_api_username';
$api_password = 'your_api_password';
$url = "https://your-whm-server.com:2087/json-api/cpanel";
$data = [
'cpanel_jsonapi_user' => $api_username,
'cpanel_jsonapi_apiversion' => 3,
'cpanel_jsonapi_module' => 'cpanel',
'cpanel_jsonapi_func' => 'php_set_vhost_versions',
'cpanel_jsonapi_params' => [
'version' => $version,
'vhost' => $domain
]
];
$options = [
'http' => [
'header' => "Authorization: Basic " . base64_encode("$api_username:$api_password"),
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === false) {
// Handle error
} else {
// Handle success
}
?>
Метод 3: использование команд оболочки WHM API
API WHM также позволяет выполнять команды оболочки на сервере. Вы можете использовать эту функцию, чтобы установить версию PHP для домена с помощью команды whmapi1
. Вот пример:
<?php
$domain = 'example.com';
$version = '7.4';
$api_username = 'your_api_username';
$api_password = 'your_api_password';
$url = "https://your-whm-server.com:2087/json-api/cpanel";
$data = [
'cpanel_jsonapi_user' => $api_username,
'cpanel_jsonapi_apiversion' => 3,
'cpanel_jsonapi_module' => 'whmapi1',
'cpanel_jsonapi_func' => 'php_set_vhost_versions',
'cpanel_jsonapi_params' => [
'version' => $version,
'vhost' => $domain
]
];
$options = [
'http' => [
'header' => "Authorization: Basic " . base64_encode("$api_username:$api_password"),
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === false) {
// Handle error
} else {
// Handle success
}
?>
В этой статье мы рассмотрели несколько способов установки версии PHP для домена с помощью WHM API. Мы обсудили использование функций PHP WHM API, cPanel API 2 и команд оболочки WHM API. Каждый метод обеспечивает гибкость и может использоваться в зависимости от ваших требований и знакомства с API WHM. Используя эти подходы, вы можете эффективно управлять версиями PHP для своих доменов, размещенных на серверах WHM, обеспечивая совместимость и оптимальную производительность.