簡體   English   中英

PHP mysqldump問題

[英]PHP mysqldump issues

我正在嘗試編寫一個從網頁運行的PHP mysqldump腳本,但是我遇到了問題; 該腳本看似正在運行,但是當我進入為其指定的目錄以將數據庫轉儲到該目錄時,沒有任何反應。

這是mysqldump腳本的php文件:

?php
require( "config.php" );
exec(' mysqldump -u [$DB_USERNAME] -p [$DB_PASSWORD] [$DB_NAME] > bzpbackup.sql');
echo ' <html> Database backup complete! Please click the link below to 
download backup. 
<br> 
<form target="http://solismagna.com/dbbackups/bzpbackup.sql type="submit">
Download Backup</form> </html> ';
?>

該文件稱為sqldump.php。 config.php文件存儲了我用於mysqldump用戶名,密碼和數據庫名稱的變量。 以前,我有要轉儲的目錄設置為“ home / dbbackups / bzpbackup.sql” ,但是我刪除了該目錄,認為它可能是不正確的目錄。 另外,如您所見,我正在嘗試在腳本完成時向index.php輸出一條消息。 這: “ bzpbackup.sql”);回顯數據庫備份完成!請單擊下面的鏈接下載備份。無論腳本是否已完成,都將顯示“下載備份” 我使用以下代碼在index.php頁面上輸出該代碼:

?php $f="sqldump.php";
$data = file_get_contents($f);
echo $data;
?>

這是config.php文件:

<?php
ini_set( "display_errors", true );
date_default_timezone_set( "America/New_York" );

define( "DB_USERNAME", "username" );
define( "DB_PASSWORD", "password" );
define( "DB_NAME", "database" );

require( "sqldump.php" );

/*function handleException( $exception ) {
echo "Sorry, a problem occurred. Please try later.";
error_log( $exception->getMessage() );
}

set_exception_handler( 'handleException' );*/
?>

問題可能是我在配置文件中需要sqldump.php嗎?

無論如何,當我單擊index.php文件上的“開始數據庫備份”按鈕時,我無法確定腳本是否真正正常工作。

說到這是該按鈕的代碼:

<form action="sqldump.php" type="submit" method="get">
<button type="submit">Start Database Backup</button>
</form>  

mysqldumps的默認目錄是什么,我的備份當前存儲在那里嗎? 另外,我應該在index.php的頭中包含config.php嗎? 我還希望下載按鈕在腳本完成后出現。 有人可以告訴我該怎么做嗎?

很抱歉這么長的問題。 我仍然是PHP的新手。

謝謝! :)

再次嘗試使用“ home / dbbackups / bzpbackup.sql”位置,但在開始處使用正斜杠。 因此,“ / home / dbbackups / bzpbackup.sql”。

另外,通過使用以下命令,確保任何用戶都可以寫入“ / home / dbbackups”目錄:

chmod ugo+w /home/dbbackups

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM