2014-09-28 71 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

回答