mut*_*ebm 9 php mysql database codeigniter
我一直在研究CodeIgniter附带的用户指南.我对这个dbutil()方法很感兴趣.特别是以下代码行:
// Load the DB utility class
$this->load->dbutil();
// Backup your entire database and assign it to a variable
$backup =& $this->dbutil->backup();
// Load the file helper and write the file to your server
$this->load->helper('file');
write_file('/path/to/mybackup.gz', $backup);
// Load the download helper and send the file to your desktop
$this->load->helper('download');
force_download('mybackup.gz', $backup);
Run Code Online (Sandbox Code Playgroud)
它应该备份当前加载的MySQL数据库.但不幸的是,它不起作用,我收到以下消息:
遇到PHP错误
严重性:注意
消息:未定义的属性:CI_Loader :: $ dbutil
文件名:views/view.php
行号:10
致命错误:在第10行的C:\ xampp\htdocs\CodeIgniter\application\views\view.php中的非对象上调用成员函数backup()
我在这里错过了什么?任何帮助将非常感激.
Sal*_*eem 24
试试这个,你可以改变格式zip到gz如果你喜欢:)
$this->load->dbutil();
$prefs = array(
'format' => 'zip',
'filename' => 'my_db_backup.sql'
);
$backup =& $this->dbutil->backup($prefs);
$db_name = 'backup-on-'. date("Y-m-d-H-i-s") .'.zip';
$save = 'pathtobkfolder/'.$db_name;
$this->load->helper('file');
write_file($save, $backup);
$this->load->helper('download');
force_download($db_name, $backup);
Run Code Online (Sandbox Code Playgroud)
使用php执行此操作仅适用于非常小的数据库.如果增加其他性能问题,您将很快遇到内存限制.
最好的方法是使用mysqldump创建转储:
header('Content-type: application/force-download');
header('Content-Disposition: attachment; filename="dbbackup.sql.gz"');
passthru("mysqldump --user=xx --host=xx --password=xx dbname | gzip");
Run Code Online (Sandbox Code Playgroud)
当然,你必须拥有所需的权限才能做到这一点.
小智 5
//load helpers
$this->load->helper('file');
$this->load->helper('download');
$this->load->library('zip');
//load database
$this->load->dbutil();
//create format
$db_format=array('format'=>'zip','filename'=>'backup.sql');
$backup=& $this->dbutil->backup($db_format);
// file name
$dbname='backup-on-'.date('d-m-y H:i').'.zip';
$save='assets/db_backup/'.$dbname;
// write file
write_file($save,$backup);
// and force download
force_download($dbname,$backup);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29118 次 |
| 最近记录: |