我有 API 在专用服务器上为用户创建帐户,创建电子邮件地址也很好,但是当我尝试通过 API 创建 mysql 数据库时,我收到错误消息“访问被拒绝”,即使访问是 root 。
我尝试使用的代码:
$xmlapi = new xmlapi($host);
$xmlapi->password_auth("".$root_user."","".$root_pass."");
$xmlapi->set_debug(1);
$xmlapi->set_output('array');
$xmlapi->set_port('2083');
//create database
$createdb = $xmlapi->api1_query($root_user, "Mysql", "adddb", array($dbname));
以及我返回的错误数据:
URL: https://delta1.powerstorm.net:2083/xml-api/cpanel
DATA: cpanel_xmlapi_user=root&cpanel_xmlapi_module=Mysql&cpanel_xmlapi_func=adddb&cpanel_xmlapi_apiversion=1&arg-0=site
Authentication Header: Authorization: Basic cm9vdDphY3Jtp3MxOTY1
RESPONSE:
<?xml version="1.0" ?>
<cpanelresult>
<error>Access denied</error>
<data>
<result>0</result>
<reason>Access denied</reason>
</data>
</cpanelresult>
有什么想法可以解释为什么当其他一切都正常时这一部分会失败吗?
你不能使用root
用于创建 cPanel 数据库的帐户。另外,请确保设置端口。2082
用于未加密的连接,而2083
用于加密。您还可以使用 IP 地址代替“domainName”。
检查以下代码,它应该可以工作。
require("xmlapi.php");
$opts = [
"userName" => "UserUserName", //+++ Replace UserUserName
"password" => "UserPassword", //+++ Replace UserPassword
"dbPassword" => "DatabasePassword", //+++ Replace DatabasePassword
];
$xmlapi = new xmlapi("domainName");
$xmlapi->set_port( 2083 );
$xmlapi->password_auth($opts['userName'],$opts['password']);
$cpaneluser=$opts['userName'];
$databasename="dbName";
$databaseuser="dbUserName";
$databasepass=$opts['dbPassword'];
// database creation
$createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($databasename));
// user creation
$usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($databaseuser, $databasepass));
// adds user to database
$addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$databasename."", "".$cpaneluser."_".$databaseuser."", 'all'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)