FAQ |
Kalender |
![]() |
#11 | ||
|
|||
Medlem
|
Okej, jag har nu fixat i PHPs inställningar så den accepterar större filer och större posts, för säkerhetsskull. Lyckas med vissa backupfiler men inte med andra. Felmeddelandet är MySQL server gone away, exempel:
Citat:
|
||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Medlem
|
Här är ett gammal fult script som jag gjort och använt en del.
Kanske strular det lite beroende på charsets och likn. 1. Lägg sql-filen och scriptet i samma katalog på webbservern. 2. Sätt namnet på sql-filen i $filename 3. Sätt $max_per_request till så många _byte_ som du vill köra per request. 4. Surfa in på sidan Kod:
<?php $filename = "mysqldump.sql"; $max_per_request = 52428800; // 5 MB function get_data(&$offset, $max = 8192, $filename) { $rows = array(); if ($fp = fopen($filename, "r")) { *$is_row = false; *$buf *= ""; *$tot_len = 0; * *if ($offset) *{ * fseek($fp, $offset, SEEK_SET); *} * *while ($row = fgets($fp)) *{ * if (!$is_row) * { * *if (strpos($row, "CREATE") !== 0 && strpos($row, "INSERT") !== 0) * *{ * * continue; * *} * * * *$is_row = true; * *$buf *= ""; * } * * $buf .= $row; * $row_len = strlen($row); * $tot_len += $row_len; * * if (strpos($row, ";\n") === $row_len - 2) * { * *$is_row = false; * * * *$rows[] = $buf; * * * *if ($tot_len >= $max) * *{ * * break; * *} * } *} * *$offset = ftell($fp); * *fclose($fp); } return $rows; } $start_offset = isset($_GET["offset"]) ? intval($_GET["offset"]) : 0; $sqlData *= get_data($start_offset, $max_per_request, $filename); if (empty($sqlData)) { echo "Import klar<br/>"; exit(); } mysql_connect("..", "..", "..")or die(mysql_error()); mysql_select_db("..")or die(mysql_error()); foreach ($sqlData as $query) { mysql_query($query)or die($query . " => " . mysql_error()); } header("Refresh: 2;URL=http://" . $_SERVER["HTTP_HOST"] . "/" . $_SERVER["SCRIPT_NAME"] . "?offset=" . $start_offset); exit(); ?> edit: alla tabbar försvann i koden.. edit: konstruerat för Linux (a.k.a. nyrad = \n) |
||
![]() |
![]() |
![]() |
#13 | ||
|
|||
Medlem
|
För mig säger den bara Import klar direkt.. hm..
|
||
![]() |
![]() |
![]() |
#14 | ||
|
|||
Medlem
|
Den kanske inte hittar filen.
Lägg till Kod:
if (!file_exists($filename)) { die("Hittade inte filen"); } |
||
![]() |
![]() |
Svara |
|
|