$db_connection = $_SERVER['DOCUMENT_ROOT'] . '/includes/install/database_connection.php';
if (!file_exists($db_connection)) {
require("install/xmlapi.php");
if (isset($_POST['cpname'])) {
$opts['user'] = $_POST['cpname'];
$opts['pass'] = $_POST['cppass'];
$opts['temp'] = substr(str_shuffle(md5(time())),0,'12');
$xmlapi = new xmlapi($_SERVER['HTTP_HOST']);
$xmlapi->set_port(2083);
$xmlapi->password_auth($opts['user'],$opts['pass']);
$xmlapi->set_debug(0);
$cpaneluser=$opts['user'];
$databasename="OSMP_DAT";
$databaseuser="OSMP_admin";
$databasepass=$opts['temp'];
$db = $databasename;
$user = $databaseuser;
$pass = $databasepass;
$loc = 'localhost';
$createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($databasename));
$usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($databaseuser, $databasepass));
$addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$databasename."", "".$cpaneluser."_".$databaseuser."", 'all'));
include ('install/installer.php');
exit;
}
if (!isset($_POST['dbhost'])) { include ('install/db_installer.php'); }
if (isset($_POST['dbhost'])) {
// save connection details to $db_connection
}
}
上述代碼完美無瑕地工作,如人們所期望的。是否有可能獲得cpanel mysql數據庫前綴?
首先檢查database_connection.php是否存在。如果存在,則它包含包含數據庫詳細信息的文件。
如果不是 - 我們假設它是第一次安裝。所以我們要求用戶輸入cPanel登錄信息,我們的腳本創建數據庫並將詳細信息保存到database_connection.php。
唯一的問題是數據庫前綴。創建數據庫時,如果WHM具有爲用戶帳戶設置的數據庫前綴,則數據庫前綴將以數據庫名稱爲前綴。
我想知道如何確定是否有前綴,如果是的話如何找出它是什麼,這樣腳本也可以在數據庫名稱上加前綴。
注意我不是在尋找一個表的前綴,而是通過的cPanel添加數據庫前綴/南國