2

WHM / cPanelサーバー上で、PHPから新しいデータベースとユーザーを作成できるかどうか疑問に思いました。

4

4 に答える 4

3

わかりました、これが問題です。

「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

于 2010-06-13T08:23:05.953 に答える
2

C パネルの場合:

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');
于 2013-06-17T15:02:45.023 に答える
0

データベースへの接続に使用するユーザーが MySQL で定義された適切な権限を持っている限り、これは問題になりません。

データベースを作成するには、ユーザーにCREATE 権限(DROP 権限となるデータベースを削除するため) が必要です。ユーザーを作成するには、CREATE USER 権限が必要です。他のユーザーに権限を付与するには、 GRANT OPTION 権限が必要になる場合もあります。

したがって、WHM/cPanel を介して作成できる DB ユーザーがこれらの権限を持っている限り、問題ありません。

于 2010-06-09T13:09:27.763 に答える
0

DB を作成するには:

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

于 2010-06-09T12:56:03.527 に答える