从 WHM/cPanel 服务器上的 PHP 以编程方式创建数据库

Posted

技术标签:

【中文标题】从 WHM/cPanel 服务器上的 PHP 以编程方式创建数据库【英文标题】:Create database programatically from PHP on WHM/cPanel server 【发布时间】:2011-03-01 15:11:24 【问题描述】:

我想知道是否可以通过 php 在 WHM/cPanel 服务器上创建新的数据库和用户。

【问题讨论】:

【参考方案1】:

好的,就是这样。

'mysql_create_db' 功能在 cPanel 服务器上无法正常工作。

有一个解决方案,通过使用像这样的专有 cPanel 功能

http://USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB

这里还有一个现成的脚本可以使用http://www.zubrag.com/scripts/cpanel-database-creator.php

【讨论】:

拥有like-USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB时没有错误,但也没有创建数据库;还有其他方法吗【参考方案2】:

对于CPanel:

function create_db($cPanelUser,$cPanelPass,$dbName) 

$buildRequest = "/frontend/x3/sql/addb.html?db=".$dbName;

$openSocket = fsockopen('localhost',2082);
if(!$openSocket) 
    return "Socket error";
    exit();


$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders  = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";

fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) 
    fgets($openSocket,128);

fclose($openSocket);


//echo "Created database $dbName";



create_db('username','password','dbName');

【讨论】:

【参考方案3】:

创建数据库:

mysql_query('create database foo');

mysql_create_db('foo');

http://www.php.net/manual/en/function.mysql-create-db.php

创建 MySQL 用户:

您可以通过生成 SQL 并通过mysql_query 运行它来创建用户帐户(就像第一个示例一样):http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

【讨论】:

我认为这是不可能的。 cPanel 不仅允许您使用任何 cPanel 用户 ID/密码创建类似的数据库。您需要使用根凭据。【参考方案4】:

只要您用来连接数据库的用户具有 MySQL 中定义的适当权限,这应该不是问题。

要创建数据库,用户需要CREATE privilege(删除它们将是 DROP 权限),要创建用户,您需要拥有CREATE USER privilege。您可能还需要GRANT OPTION privilege 才能向其他用户授予权限。

所以只要您可以通过 WHM/cPanel 创建的 DB 用户具有这些权限,就可以了。

【讨论】:

以上是关于从 WHM/cPanel 服务器上的 PHP 以编程方式创建数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php 代码在 WHM/Cpanel 中以编程方式创建数据库?

主机名未解析为 IP WHM/cPanel

WHM / CPANEL / 专用主机 / 查看所有已配置的转发器

如何将网站从一台服务器迁移到另一台服务器

cPanel/WHM IP Ban - 如何解禁 IP

markdown 安装Imagick on centos whm - cpanel