2016-12-30 67 views
1

我使用php來獲取mysql數據庫的備份。 在localhost上它的正常工作和運行命令如下:mysql轉儲使用php Codeigniter,與godaddy服務器問題

$cmd = 'D:\xampp\mysql\bin\mysqldump --user=' .$db['username'].' --password= '. $db['password'] .'  --host='.$db['host'].' '.$db['database'].' > '.FCPATH.$filename; 
system($cmd,$return); 

這完美的作品時,在本地主機,但我想這在託管GoDaddy的,所以我不知道如何找到mysqldump的路徑或如何存儲.sql文件。

在當地我的應用程序目錄是這個 http://localhost/backup_app/ 和文件夾,我使用的商店是 http://localhost/backup_app/DB_Backup但我給存儲.sql文件正在使用FCPATH 即D:\xampp\htdocs\backup_app,我不知道如何產生實際的路徑在godaddy上這條路。

任何人都可以幫忙嗎?

回答

1

您使用codeigniter標記了問題。一旦我完成了這一點。我與你分享代碼,希望它能適用於你的CI版本。

在版本2.x中,CI dbforge類不支持mysqli驅動程序,所以我將驅動程序設置爲mysql

$db['group_one']['dbdriver'] = 'mysql'; 

定義存儲文件的常量中的路徑。

define('ADMIN_DOCS_PATH','adminDocs/'); 

代碼進行備份和存儲在磁盤上的文件。

public function getDatabaseBackup() 
{ 
    $this->db = $this->load->database('group_one', TRUE); 
    $this->load->dbutil(); 
    $doc_name = 'DatabaseBackup'.date('YmdHis').'.sql.zip'; 
    $prefs = array(
      'tables'  => array(),   // Array of tables to backup. 
      'ignore'  => array(),   // List of tables to omit from the backup 
      'format'  => 'zip',    // gzip, zip, txt 
      'filename' => $doc_name,   // File name - NEEDED ONLY WITH ZIP FILES 
      'add_drop' => TRUE,    // Whether to add DROP TABLE statements to backup file 
      'add_insert' => TRUE,    // Whether to add INSERT data to backup file 
      'newline'  => "\n"    // Newline character used in backup file 
     ); 
    $backup =& $this->dbutil->backup($prefs); 
    $this->load->helper('file'); 
    write_file('./'.ADMIN_DOCS_PATH.$doc_name, $backup); 
} 

試試這個,也確認您的CI版本,其支持dbforge類下載數據庫轉儲。

+0

thankyou它的工作,但我不想使用它..我想使用mysqldump命令就像我在我的地址 我的腳本完美只與godaddy問題 – gurbinder