Vesta. Create user. API. Не добавляется пользователь

212
13 сентября 2018, 07:20

Пишу скрипт для добавление нового пользователя в панель управления хостингом "VESTA". Пишу согласно мануалу по api: http://vestacp.com/docs/api/ Ошибок при выполнении кода не выдает, но пользователь в весту не добавляется. Мой код:

$vst_hostname = 'dfsdfl.csfdsdsgds.com';
$postvars = array(
$vst_username = 'zdeslogin',
$vst_password = 'zdesparol',
$vst_returncode = 'yes',
$vst_command = 'v-add-user',
$username = 'demo',
$password = 'd3m0p4ssw0rd',
$email = 'demo@gmail.com',
$package = 'default',
$fist_name = 'Rust',
$last_name = 'Cohle'
);
$postdata = http_build_query($postvars);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://' . $vst_hostname . ':8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
$answer = curl_exec($curl);
// Check result
if($answer == 0) {
    echo "User account has been successfuly created\n";
} else {
    echo "Query returned error code: " .$answer. "\n";
}

После отработки кода, возвращается строка: User account has been successfuly created.

Answer 1

// пример массива

$postvars = array(
    'user' => $vst_username,
);

А у вас вместо "Ключа массива" переменная, ключи массива оставьте как в оригинале API , и только значения установите.

У вас должна быть Веб форма с полями текстовыми для регистрации Юзера. Переменную $vst_username задайте через веб форму методом Post.

Затем передайте все значения в скрипт API.

Можно и без формы, в начале скрипта АPI просто назначьте переменные. А они у вас в массиве.Вытащите их в самое начало скрипта.

Answer 2

Вот, собственно, рабочий код.

<?php
// Server credentials
$vst_hostname = 'sadsad.sadsad.com';
$vst_username = 'zdeslogin';
$vst_password = 'zdesparol';
$vst_returncode = 'no';
$vst_command = 'v-add-user';
$username = 'demo3';
$password = 'd3m0p4ssw0rd';
$email = 'demo@gmail.com';
$package = 'default';
$fist_name = 'Rust';
$last_name = 'Cohle';
$postvars = array(
    'user' => $vst_username,
    'password' => $vst_password,
    'returncode' => $vst_returncode,
    'cmd' => $vst_command,
    'arg1' => $username,
    'arg2' => $password,
    'arg3' => $email,
    'arg4' => $package,
    'arg5' => $fist_name,
    'arg6' => $last_name
);
$postdata = http_build_query($postvars);
// Send POST query via cURL
$postdata = http_build_query($postvars);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://' . $vst_hostname . ':8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
$answer = curl_exec($curl);
// Check result
if($answer == 0) {
    echo "User account has been successfuly created\n";
} else {
    echo "Query returned error code: " .$answer. "\n";
}
?>
READ ALSO
Laravel функция внутри функции

Laravel функция внутри функции

В общем есть класс и в нем три функции, в них очень много одинакового кода, можно ли как то вынести эти одинаковые куски в отдельную сущность,...

240
Uncaught ArgumentCountError: Too few arguments to function

Uncaught ArgumentCountError: Too few arguments to function

Подскажите плиз, выдает вот такую ошибку: Fatal error: Uncaught ArgumentCountError: Too few arguments to function CartController::actionDelete(), 0 passed in F:\xampp\htdocs\components\Routerphp on line 61 and exactly...

231