gpt4 book ai didi

PHP mysqldump 问题

转载 作者:行者123 更新时间:2023-11-30 00:57:13 25 4
gpt4 key购买 nike

我正在尝试编写一个从网页运行的 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'); echo ' 数据库备份完成!请点击下面的链接下载备份。无论脚本是否完成,都会显示“下载备份”。我使用以下代码将其输出到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

关于PHP mysqldump 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com