0

我想问点什么。。

这是我的解释。

  1. 我有一个 php 系统,用户可以在上面注册和使用我的会计系统。
  2. 我的会计系统已经完成,它可以/自己安装创建数据库,当转到示例时:www.mysystem.com/install/
  3. 当新用户注册时,我的系统是不可能的。它在我的服务器上创建一个新数据库并创建子域,newuser.mysystem.com并在他/她的子域文件夹中自动安装我的会计系统?
  4. 如果不可能,下一步我应该做什么?
  5. 如果你们不明白我的解释,请告诉我。英语是我的第二语言。
4

1 回答 1

0

我想知道这对你有多好。我当然希望它是未来的证明(并且在一定程度上是安全的)。添加仅具有 CREATE 和转储权限的用户以保持安全。

临时文件的编辑权限 chmod 1777 /tmp

<?php
/* this is for a test website I was building */
 $dbusername = "admin_user";
$dbuserpass = "secretPa$$";
$dbname="new_customer_DB"; //use a more unique name
 $mysqli = new mysqli("localhost", $dbusername, $dbuserpass, "your_admin_db");

    $sql = "CREATE DATABASE `".$dbname."` /*!DEFAULT CHARACTER SET utf8 */;";


if ($mysqli->query($sql) ) {
    printf("$dbname successfully created.\n");
}

// dump database from master db into newly created one.
// dbname and masterdb are important
$masterdb ="customer_db_template";
$olduser= $dbusername;




$file = tempnam("/tmp", "FOO");

 $content= "[client]\n";
$content.= "user=$dbusername \n";
$content.= "password=$dbuserpass \n";
$content.= "host=localhost";
file_put_contents($file, $content);

print "<hr> ";

$cmd = "mysqldump --defaults-extra-file=$file --routines --opt $masterdb | mysql --defaults-extra-file=$file --host=localhost -C $dbname;";
print $cmd;
print "<pre>"; 

  system( $cmd   );  
unlink($file); //delete right away
mysqli::close ($mysqli );
print "</pre>";
?>

电源回答者:我是怎么做的?

于 2017-02-21T08:17:08.163 回答