PHP Cpanel_PublicAPI创建传递错误变量的帐户


PHP Cpanel_PublicAPI Create Account passing incorrect variables

如果此请求位于错误区域,我很抱歉。

我正在学习使用PHP和CPanel API。我有下面的代码,它给了我一个堆栈错误,因为我错过了一些看似简单的

    $domain = array('username' => 'bobbie', 'domain' => 'bobbie.com', 'pass' => 'bobbie123');
    $acct = $cp->whm_api('createacct', $domain);
    echo "WHM Create: {$acct->createacct}'n";

我知道我正确地连接到了WHM,因为在此之前我的代码正确地输出了WHM的版本。上面的代码给了我一个错误,指出createacct需要传递一个数组作为第一个参数:

WHM Version: 11.54.0.21
PHP Fatal error:  Uncaught exception 'Exception' with message 'createacct requires that first parameter passed to it is an array' in /root/whmrm/Cpanel/Service/XmlapiClientClass.php:146
Stack trace:
#0 [internal function]: Cpanel_Service_XmlapiClientClass->createacct('bobbie', 'bobbie.com', 'bobbie123')
#1 /root/whmrm/Cpanel/Service/WHM.php(195): call_user_func_array(Array, Array)
#2 [internal function]: Cpanel_Service_WHM->__call('createacct', Array)
#3 [internal function]: Cpanel_Service_WHM->createacct('bobbie', 'bobbie.com', 'bobbie123')
#4 /root/whmrm/Cpanel/PublicAPI.php(525): call_user_func_array(Array, Array)
#5 /root/whmrm/create_sites_on_server.php(68): Cpanel_PublicAPI->__call('whm_api', Array)
#6 /root/whmrm/create_sites_on_server.php(68): Cpanel_PublicAPI->whm_api('createacct', Array)
#7 {main}
  thrown in /root/whmrm/Cpanel/Service/XmlapiClientClass.php on line 146

输出的第3行显示我没有正确发送数据。如有任何帮助,我们将不胜感激。我在谷歌上搜索过,大多数结果都给了我关于xml_api以及如何使用它的信息。谢谢你的帮助。

查看PublicAPI类的源,如果给定一个数组作为参数,则它只调用传递数组(源)中第一个元素的结果函数。

我能够使用以下代码创建一个帐户:

$cp = Cpanel_PublicAPI::getInstance($config);
$whm = Cpanel_PublicAPI::factory('whm');
$domain = array(
    'domain'   => 'mydomain.com',
    'username' => 'drewt2',
    'password' => 'myp4ssw0rd!'
);
$response = $whm->createacct($domain);

您可以在这里看到函数和参数:Cpanel_Service_XmlapiClientClass。

不幸的是,该代码已经5年没有更新了,而且这些示例也没有那么大帮助,所以你可能必须仔细查看代码才能找出你想要做的大部分事情。