用php创建异步数据库

用php创建异步数据库,php,mysql,database,asynchronous,pthreads,Php,Mysql,Database,Asynchronous,Pthreads,我正在建立一个系统,每个帐户都有自己的数据库。当用户实际创建帐户时创建这些数据库会导致在刷新页面之前等待很长时间。从逻辑上讲,由于php仍然很忙,因此页面无法完成 因此,我的想法是“缓冲”一些,比如这些包中的5个,都命名为$DBNAME$number,其中数字是1到5。因此,我只是在创建帐户时重命名数据库,从而最大限度地减少等待时间。我想这会很好,但我需要补充我的缓冲区 在这里,我想我需要一种方法来在后台补充数据库缓冲区,甚至可以在帐户数据库准备好并且用户已经登录时运行。 问题是,我还没有找到解

我正在建立一个系统,每个帐户都有自己的数据库。当用户实际创建帐户时创建这些数据库会导致在刷新页面之前等待很长时间。从逻辑上讲,由于php仍然很忙,因此页面无法完成

因此,我的想法是“缓冲”一些,比如这些包中的5个,都命名为$DBNAME$number,其中数字是1到5。因此,我只是在创建帐户时重命名数据库,从而最大限度地减少等待时间。我想这会很好,但我需要补充我的缓冲区

在这里,我想我需要一种方法来在后台补充数据库缓冲区,甚至可以在帐户数据库准备好并且用户已经登录时运行。 问题是,我还没有找到解决这个问题的方法,尽管我环顾了很多地方。我尝试了pthread,它的运行方式与我内联运行代码的方式完全相同。我甚至给了ajax一个机会,希望.php文件能够异步运行,但它不会

有人对如何实现我的目标有什么建议吗?
注:如果xy出现问题,您可以通知我;)

尝试使用包含所有帐户的单个数据库,或者尝试使用信号量。像

在这里等待函数 //你的全部工作都在这里 和退出函数
我希望这能奏效:)

“每个帐户都有自己的数据库”这是一个非常糟糕的想法。我明白你的意思,我想:‘这是一种优势,还是纯粹的愚蠢?’。我发现了,我想我应该试一试。我是在一个非常特殊的情况下做的,所以不应该直接谴责它。但是99.99999%如果时间是个坏主意的话。至于一种方法,您可以通过exec简单地调用php脚本,在后台创建db。但是我在不到一秒钟的时间内创建了一个30表db,所以我并不认为它应该是一个issuephp,它的定义是不异步的。即使使用线程编译PHP,也不会获得web成功。您可能需要一个在后台作为进程运行的小守护进程。幸运的是,PHP有一个很好的用于处理进程的api。有数百万种方法可以实现您的目标。您可以使用一个小php脚本来接收标准输入中的参数,并使用
proc_open
打开它,然后根据给定的参数创建数据库。可以将其视为一个原始的控制台应用程序