На самом деле я хочу создать базу данных на моем сервере динамически при запуске веб-страницы с помощью php. когда код позади веб-страницы был выполнен, я нашел вновь созданную базу данных, Код для создания динамической базы данных работал нормально …
Но проблема в том, что я не могу назначить необходимые права на чтение и запись конкретному пользователю этой базы данных.
Я попробовал ниже фрагмент кода:
function createDb($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);
}
function createUser($cPanelUser,$cPanelPass,$userName,$userPass) {
$buildRequest = "/frontend/x3/sql/adduser.html?user=".$userName."&pass=".$userPass;
$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);
}
function addUserToDb($cPanelUser,$cPanelPass,$userName,$dbName,$privileges) {
$buildRequest = "/frontend/x3/sql/addusertodb.html?user=".$userName."&db=".$dbName.$privileges;
$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);
}
createDb('cpanelusername','cpanelpassword','dbname');
createUser('cpanelusername','cpanelpassword','dbusername','dbpassword');
addUserToDb('cpanelusername','cpanelpassword','dbusername','dbname','&ALL=ALL');
Пожалуйста помоги….
Задача ещё не решена.
Других решений пока нет …