Felmeddelandet är ganska tydligt och visar dig vad problemet är:begränsningen av exekveringstiden i din php-miljö. Så några metoder för att lösa detta är uppenbara:
- Öka tidsgränsen för din miljö
Du kan göra det genom att antingen höja gränsen i din php-konfiguration eller, om det är tillåtet, genom att dynamiskt öka den i ditt importskript. Så något som ini_set('max_execution_time', 3000)
. Båda alternativen är dokumenterade. PHP-dokumentationen bör alltid vara den första platsen där du bör börja leta efter ett svar på en sådan fråga.
- använd en annan php-miljö
Vanligtvis väljs en sådan begränsning för en webbmiljö för att minska riskerna för att skicka förfrågningar från någon där ute. Men ingenting talar emot att använda en annan konfiguration för en annan miljö. Importjobb är vanligtvis inte bearbetas genom att använda webbförfrågningar, men genom att använda php på kommandoraden (CLI). För sådana används vanligtvis en separat konfiguration. Återigen är detta dokumenterat. Det är vad du kan använda här för att konfigurera båda miljöerna olika från varandra efter dina behov. Men för detta behöver du tillgång till php på CLI. Det är inget problem på ditt eget system, men vanligtvis inte tillgängligt på ett billigt webbhotell.
- dela upp importen i mindre bitar
Eftersom data du importerar lagras i en sql-fil, alltså en enkel textfil, kan du använda vilken vanlig textredigerare som helst för att ändra den filen. Obs:en textredigerare, inte en ordbehandlare. Du kan dela upp den stora INSERT
uttalandet som finns där i flera bitar. Syntaxen är ganska uppenbar.
- använd många separata insert-satser istället för en stor
Beroende på vilket verktyg du använder för att skapa den dumpfilen du försöker importera nu har du ett alternativ att skapa dumpen så att den använder många separata INSERT
uttalanden (en för varje rad) istället för en stor, kombinerad. mysqldump
erbjuder till exempel --skip-extended-insert
flagga för detta. Med en sådan dumpfil är det trivialt att dela upp importen i flera mindre bitar genom att helt enkelt dela upp filen.
- förbigå php för importen helt och hållet
Om du har direkt tillgång till din databasserver (MySQL i det här fallet), kan du helt enkelt interagera direkt med den istället för att använda phpMyAdmin
verktyg däremellan. Du kan enkelt ladda din dumpfil direkt med hjälp av MySQLs source
kommando. På så sätt är du helt oberoende av php-begränsningarna.