Frage

Ich habe mich gefragt, ob es möglich ist, eine neue Datenbank und die Benutzer zu erstellen, von PHP, auf einem WHM / cPanel-Server.

War es hilfreich?

Lösung

Ok, das ist die Sache.

'mysql_create_db' Funktion funktioniert nicht richtig auf cPanel-Server.

Es gibt eine Lösung für dieses aber durch die proprietäre cPanel-Funktion wie so

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

Es gibt auch ein fertiges Skript, das hier verwendet werden kann, http: //www.zubrag.com/scripts/cpanel-database-creator.php

Andere Tipps

Für 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');

ein DB erstellen:

mysql_query('create database foo');

oder

mysql_create_db('foo');

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

einen MySQL-Benutzer zu erstellen:

Sie können die Benutzer-Account erstellen, indem Sie die SQL-Generierung und durch mysql_query (genau wie beim ersten Beispiel) ausgeführt wird: http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

Solange der Benutzer an die Datenbank verwenden, um eine Verbindung über die entsprechenden Berechtigungen definiert in MySQL sollte dies kein Problem sein.

So erstellen Datenbanken der Benutzer muss die Privileg CREATE (zu ihnen fallen, dass DROP Privileg wäre), erstellen (r) Benutzer die USER Privileg CREATE. Vielleicht haben Sie auch brauchen die GRANT OPTION Privileg können Berechtigungen an andere Benutzer gewähren.

Solange der DB Benutzer (n) durch WHM erstellen / cPanel haben diese Privilegien, sollten Sie in Ordnung sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top