WHM/cPanel サーバー上の PHP からプログラムでデータベースを作成する

StackOverflow https://stackoverflow.com/questions/3005466

  •  25-09-2019
  •  | 
  •  

質問

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

役に立ちましたか?

解決

[OK]を、これはものです。

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

を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

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

データベースを作成するには、ユーザーが必要とするのは CREATE権限 (ドロップするには DROP 権限が必要です)、ユーザーを作成するには、 CREATE USER権限. 。また、必要になる場合があります GRANT OPTION 権限 他のユーザーに権限を付与できるようになります。

したがって、WHM/cPanel を通じて作成できる DB ユーザーがこれらの権限を持っている限り、問題ないはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top