Как программно создать базу данных в WHM/Cpanel, используя php-код?

У меня был код xmlapi до 1,5 лет назад, и он отлично работал до 6 месяцев назад. Внезапно он перестал работать без ошибок. Теперь я прочитал, что xmlapi устарел и используется uapi. Теперь я готовлю код в соответствии с - cpanel-UAPI-php-class с нет ошибки, но и xmlapi, и uapi не могут создать базу данных.

Можно ли сделать базу данных динамической, как мы это делаем на локальной машине (используя запрос)? Или любой другой способ работать постоянно.


person Veshraj Joshi    schedule 06.03.2019    source источник


Ответы (1)


Для этого вы можете использовать класс cPanels LiveAPI:

<?php

// Instantiate the CPANEL object.
require_once "/usr/local/cpanel/php/cpanel.php";

$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
  
// Create a new database.
$create_db = $cpanel->uapi(
    'Mysql', 'create_database',
    [
        'name'    => 'newdb',
    ]
);

Не забывайте, что если префикс базы данных включен, newdb также должно включать имя пользователя. Например, cpuser_newdb.

Больше информации:

https://documentation.cpanel.net/display/DD/UAPI+Functions+-+Mysql%3A%3Acreate_database https://documentation.cpanel.net/display/DD/Guide+to+the+LiveAPI+System+-+PHP+Class

person Peter B    schedule 28.07.2020