Полное руководство: установка версии PHP для домена с помощью WHM API

В этой статье мы рассмотрим различные способы установки версии 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, обеспечивая совместимость и оптимальную производительность.