如何通过 cpanel/whm API 创建数据库?

2024-03-02

我有 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(使用前将#替换为@)

如何通过 cpanel/whm API 创建数据库? 的相关文章

  • 使用计数器作为变量名称的一部分来访问变量

    我尝试做类似的事情 cat1 array hello everyone cat array bye everyone for index 0 index lt 2 index echo cat index 1 当然是行不通的 我需要在这里改
  • 我可以查看当前登录的 Twitter 用户吗?

    他们没有通过我的网站进行 OAuth 验证 但在该浏览器上登录到 Twitter 有什么办法让我知道他们的 Twitter 用户名吗 饼干 什么 除非某些东西非常糟糕或者 Twitter 明确提供了用于此目的的 API 否则不会 至少不是通
  • 回显 HTML 并内置 PHP

    请帮助我使用 echo 与 HTML 和 PHP 使用数组范围将其转换为动态
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 简单的跨平台 TCP IP API?

    我不打算使用像 QT 或 wxWidgets 的 API 这样的大东西 我只想要可以在 Android iOS Windows Mac Linux 上运行的简单套接字 我正在制作一个事件驱动的纸牌游戏 所以 TCP 是最好的 本质上 我只想
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • 自动解析 PHP,将 PHP 代码与 HTML 分离

    我正在开发一个大型 PHP 代码库 我想将 PHP 代码与 HTML 和 JavaScript 分开 我需要对 PHP 代码进行多次自动搜索和替换 对 HTML 进行不同的搜索和替换 对 JS 进行不同的自动搜索和替换 有没有一个好的解析器
  • 如何在 mysql 中两次连接同一个表?

    我有2张桌子 其中一个 域 具有域 ID 和域名 dom id dom url 另一列包含实际数据 其中 2 列需要 TO 和 FROM 域名 所以我有 2 列 rev dom from 和 rev dom for 它们都存储域表中的域名
  • django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错:没有名为 MySQLdb 的模块

    我在尝试连接 mysql 数据库时遇到的问题 我还给出了我使用过的数据库设置 Traceback most recent call last File manage py line 10 in
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • 如何从 php 代码更改 php 设置?

    我想更改 php 设置 但从 php 页面而不是 php ini 更改 我要更改的设置是 upload max filesize post max size and memory limit 如果您有AllowOverride 选项 您可以
  • 为什么我的变量超出范围? PHP

    语言是 Apache 2 2 服务器上的 PHP 5 4 这是一个由ajax调用的脚本 usr new User function getMyName echo usr gt username getMyName 由于某种原因 name 超
  • 定义我自己的 BASE_PATH 与 set_include_path?

    我了解了函数set include path 一直以来 我在config php文件中定义了一个常量 define BASE PATH var www mywebsite public html 在所有后续的 php 文件中 我会像这样包含
  • 如何使用php api检查电子邮件或手机paypal帐户状态?

    如何使用 php api 检查电子邮件或手机 Paypal 帐户状态 好的 如果我想汇款到此电子邮件贝宝 email protected cdn cgi l email protection 或手机 1234567890 汇款前 我可以检查
  • 会话 bean 中的 EntityManager 异常处理

    我有一个托管无状态会话 bean 其中注入了 EntityManager em 我想做的是拥有一个具有唯一列的数据库表 然后我运行一些尝试插入实体的算法 但是 如果实体存在 它将更新它或跳过它 我想要这样的东西 try em persist
  • 使用 C#.net 中的私有存储库的身份验证读取 BitBucket API

    我已经尝试了几天让 BitBucket API 为我工作 但是当涉及到让它为具有身份验证的私有存储库工作时 将问题设置为私有 当它们设置为公开 无需身份验证 一切正常 代码示例如下 static void Main string args
  • 尝试在本地主机上测试我的 php 文件,但只出现一个空白页面,没有错误消息

    我正在运行 Apache 和 mySQL 因为我检查了所有日志 似乎没有任何错误 我的目标是每当有新的表单条目时就向特定地址发送电子邮件 我对后端和 PHP 缺乏经验 所以我不太确定哪里出了问题 任何帮助将不胜感激
  • 如何使用 php 创建谷歌双因素身份验证?

    我想在我的 PHP 项目中使用 Google 2FA 用户登录时需要输入6位2fa代码 您可以画出一些关于该朝哪个方向走的提示吗 步骤 1 创建长度为 16 个字符的唯一密码 PHPGangsta 为 Google Authenticato
  • 在 php 中回显 JSON 数据

    我正在尝试回显一些 JSON 数据 问题是数据包含变量 但我的代码没有将变量放入字符串中 这是我的代码 status row Status priority row Priority echo status status priority
  • 在订单项目视图中显示自定义产品数据

    我在添加到购物车时遇到问题 我有一个具有不同定制条件的产品可供选择 当客户选择特定选项时 它添加到购物车 当客户选择另一种选择并添加时 它显示为购物车中的第二件商品 这没关系 但付款后 订单在第 1 项和第 2 项下均显示自定义选项 但没有

随机推荐