2014-09-28 72 views
0

我想在php代码中删除数据库。 在我的应用程序中,我有以下代码。从php代码中删除数据库

$cmd = "mysql -h $host --port=$port -u $user -p$pass -e 'create database $database'"; 
$logger->log("running command '$cmd'"); 
exec($cmd, $output, $status); 

当代码到达时,它挂起并且程序永远不存在。根据日志命令 是正确的。 即日志有以下行。

running command 'mysql -h localhost --port=3306 -u root -p123 -e 'drop database my_test_db'' 

我复制了命令并在终端上手动运行它。那么它会在几秒钟内丢弃数据库。 然后,我用一个简单的php脚本将命令硬编码并运行。那么它也会在几秒钟内丢弃数据库。

我不明白为什么它挂在我的应用程序。你能帮我解决吗?

附加信息:在应用程序中,创建到同一个数据库的连接,并在发生这种情况时事务已启动。

+0

为什么你不能做到这一点[普通](http://php.net/manual/en/book.mysqli.php ) 办法? [exec](http://php.net/manual/en/function.exec.php)几乎可以在任何配置良好的服务器上受到限制。 – bansi 2014-09-28 13:09:00

回答