Domanda

mi chiedevo se è possibile creare un nuovo database e l'utente, da PHP, su un server WHM / cPanel.

È stato utile?

Soluzione

Ok, questa è la cosa.

funzione 'mysql_create_db' non funziona correttamente su server cPanel.

C'è una soluzione a questo, però, utilizzando la funzione cPanel proprietaria in questo modo

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

C'è anche uno script ready-made che può essere utilizzato qui http: //www.zubrag.com/scripts/cpanel-database-creator.php

Altri suggerimenti

Per 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');

Per creare un DB:

mysql_query('create database foo');

o

mysql_create_db('foo');

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

Per creare un utente MySQL:

È possibile creare account utente generando il codice SQL e funzionante attraverso mysql_query (proprio come il primo esempio): http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

Fino a quando l'utente utilizzato per la connessione al database ha i privilegi appropriati definiti in MySQL questo non dovrebbe essere un problema.

Per creare database l'utente ha bisogno il privilegio CREATE (far cadere loro che sarebbe GOCCIA privilegio), per creare utente (s) è necessario avere la CREATE privilegi utente . Potrebbe anche essere necessario il GRANT OPTION privilegio per essere in grado di concedere privilegi ad altri utenti.

Quindi, fintanto che l'utente DB (s) è possibile creare attraverso WHM / cPanel avere questi privilegi, si dovrebbe essere ok.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top