2012-01-29 187 views
0

我創建了兩個簡單的PHP腳本來備份MySQL數據庫,但這些腳本不能按預期工作。我用我的程序在Mac上使用甲基苯丙胺,並在Windows上使用AMPPS 7製作數據庫備份

這裏的兩個腳本我用備份數據庫:

[信息編輯]

第一個也是唯一的代碼

<?php 

$host="localhost"; 
$user="root"; 
$password="root"; 
$db="trasporti"; 
[email protected]_connect("$host", "$user", "$password"); 
mysql_select_db("$db"); 

$backupFile = '../../t6/backup/' . $db . date("Y-m-d-H-i-s") . '.sql'; 
$command = "mysqldump -h $host -u $user -p $password $db > $backupFile"; 
system($command, $retval); 

echo $command; 
var_dump($retval); 

if ($retval==0) 
{ 
echo "BackUP Riuscito!"; 
} 
else 
    { 
    echo "BackUP Fallito!"; 
    } 

mysql_close($dbcnx_backup); 

?> 

有人可以解釋我在這裏做錯了嗎?

+0

第二個例子沒用。你應該嘗試修復第一個。給我們'echo $ command;'和'var_dump($ retval);'的輸出。 – 2012-01-29 15:34:30

+0

如果'connect.php'打開一個數據庫連接,那麼這也沒用 - 你不使用PHP的任何mysql的東西,只需使用一個外部mysql命令,它將建立它的OWN連接,完全獨立於PHP。重要的是:你的shell的路徑是mysqldump嗎? – 2012-01-29 15:36:00

+0

'$ host'是什麼?如果它的'localhost',請嘗試'127.0.0.1' .... – Wrikken 2012-01-29 16:12:03

回答

0

刪除-p後的空格。

您可以刪除代碼中所有對mysql_函數的調用。

在您的PHP配置中是否啓用safe_mode?使用phpinfo()來告訴,如果是的話,你可能需要configure PHP或關掉它。