Хе, я новичок в PHP и пытаюсь использовать mysqldump, используя php-скрипт.
Я уже пытаюсь использовать команду, и процесс дампа имеет успех.
Ситуация заключается в том, что когда я попытался выполнить дамп с помощью моего локального компьютера, свалка будет успешной.
Но когда код передается на сервер, mysqldump не работает. Я пробовал почти решение, связанное с темами mysqldump, но все равно это не работает. Надеюсь, кто-то может вести меня. TQ
<?php /*----------------------------------------------- MYSQLDUMP FOR SERVER ------------------------------------------*/ $dbhost = "*****"; $dbuser = "*****"; $dbpass = "*****"; $dbname = "*****"; //set date today $today=date("dmY"); //set file name $filename = "leave_".$today.".sql"; //MYSQLDUMP //For Server $command = sprintf("/usr/bin/mysqldump --opt -h%s -u%s -p%s %s >/var/www/html/leave/leave/backup/%s", //for local //$command = sprintf("c:\AppServ\MySQL\bin\mysqldump --opt -h%s -u%s -p%s %s > %s", $dbhost, $dbuser, $dbpass, $dbname, $filename ); system($command); /*------------------------------------------------------------- TO SAVE FILE SQL INTO LOCAL ---------------------------------------------------------------*/ $file = "leave_".$today.".sql"; if(!$file) { // File doesn't exist, output error die('File not found'); } else { // Set headers to ask user where to save file. header('Pragma: anytextexeptno-cache', true); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private", false); header("Content-Type: text/plain"); header("Content-Disposition: attachment; filename=$file"); // Read the file from disk readfile($file); } ?>
Хорошо, на самом деле я уже решу эту проблему через несколько дней после того, как поставил вопрос. К сожалению, у меня не хватило репутации, чтобы опубликовать ответ. Вот и мы идем.
Вот несколько вещей, которые необходимо ПРИНИМАЮТ ПРИМЕЧАНИЕ : –
* Также несите с ума, он связан с разрешением, может ли исполняться системная команда с php или нет.
Я предполагаю, что ваш php разрешает выполнение команд через system ().
вы не работаете в безопасном режиме или, если хотите, safe_mode_exec_dir содержит все необходимые вам команды