![](/img/trans.png)
[英]How to create database programmatically in WHM/Cpanel using php code?
[英]Create database programatically from PHP on WHM/cPanel server
我想知道是否有可能在WHM / cPanel服务器上通过PHP创建新的数据库和用户。
好的,这就是事情。
'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
对于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');
要创建数据库:
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
只要您用于连接数据库的用户具有在MySQL中定义的适当特权,这就不成问题。
要创建数据库,用户需要CREATE特权 (要删除它们将成为DROP特权),要创建用户,您需要具有CREATE USER特权 。 您可能还需要GRANT OPTION特权才能向其他用户授予特权。
因此,只要您可以通过WHM / cPanel创建的DB用户具有这些特权,就可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.