כיצד לייבא dumpי XML לוויקי המדיהוויקי שלך?

יתכן שתמצא את עצמך זקוק לייבוא dumpי XML לוויקי שלך פעם אחת או אחרת
יתכן שתמצא את עצמך זקוק לייבוא dumpי XML לוויקי שלך פעם אחת או אחרת.

MediaWiki משתמש בפורמט מופשט מבוסס XML עבור השלכות תוכן. זה מה שמייצר מיוחד: ייצוא, וגם מה שמשמש לזריקות XML של ויקיפדיה ואתרי ויקימדיה אחרים. ניתן לייבא את זה לויקי אחר באמצעות MediaWiki דרך הדף Special: Import או באמצעות mwdumper או xml2sql.

יתכן שתמצא את עצמך זקוק לייבוא dumpי XML לוויקי שלך פעם אחת או אחרת. להלן כמה שיטות נפוצות לייבוא XML Dumps.

צעדים

  1. 1
    בצע את כל התצורות הדרושות לפני הייבוא. מיוחד: ייבוא הוא תכונה בתוכנת מדיה - ויקי שיכולה לשמש את Sysops (לפי ברירת מחדל) לייבוא מספר קטן של עמודים (כלומר כל מה שמתחת ל -20 MB צריך להיות בטוח). ניסיון לייבא זבל גדול בדרך זו עלול לגרום לפסק זמן או כשלים בחיבור. ישנן מספר הגדרות שיכולות לגרום לכך:
    • מגבלת העלאת ה- PHP המצויה בקובץ התצורה של PHP php.ini תמנע העלאת קבצים גדולים לשרת. שנה שורה זו כדי להגדיל מגבלה זו:
      ; הגודל המרבי המותר לקבצים שהועלו. upload_max_filesize = 20 מיליון 
    • יש משתנה נסתר שיגביל את גודל הקובץ בצורה הקלט. ניתן למצוא זאת בקוד המקור של MediaWiki בקובץ בשם כולל / SpecialImport.php. יש לשנות את קובץ המקור הזה כדי להגדיל את הגודל המרבי לקבצים שהועלו.
    • <input type = 'hidden' name = 'MAX_FILE_SIZE' value = '20000000' /> 
    • עיבוד הקובץ המיובא עשוי להימשך זמן רב מהפרק המקסימלי המותר על ידי php. הוסף את השורות הבאות אל php.ini כדי להקל על כך:
      מקסימום_ביצוע זמן = 1000; זמן ביצוע מקסימלי של כל סקריפט, בשניות max_input_time = 2000; משך הזמן המרבי שכל סקריפט עשוי לבזבז בניתוח נתוני בקשה default_socket_timeout = 2000; פסק זמן ברירת מחדל לזרמים מבוססי שקע (שניות) 
    וגם מה שמשמש לזריקות XML של ויקיפדיה ואתרי ויקימדיה אחרים
    זה מה שמייצר מיוחד: ייצוא, וגם מה שמשמש לזריקות XML של ויקיפדיה ואתרי ויקימדיה אחרים.
  2. 2
    אם יש לך גישה למעטפת, נסה להשתמש ב- importdump.php. למרות שזו השיטה המומלצת ביותר, היא נהיית איטית בעת ייבוא זבל ענק. אם אתה מנסה לייבא משהו ענק כמו השלכות ויקיפדיה, השתמש ב- mwdumper. importDump.php הוא סקריפט של שורת פקודה שנמצא בתיקיית התחזוקה של התקנת MediaWiki שלך. אם יש לך גישה למעטפת, אתה יכול להשתמש ב- importdump.php עם פקודה זו:

    php importDump.php <dumpfil>

    • החלף את <dumpfile> בשם קובץ ה- dump שלך. גם אם הקובץ דחוס בסיומת הקובץ in.bz2 או.gz, הוא נדחס אוטומטית.
  3. 3
    עבור קבוצות מסדי נתונים גדולות, נסה להשתמש ב- mwdumper. זהו יישום Java המסוגל לקרוא, לכתוב ולהמיר dumping XML של MediaWiki ל- dump dump (לשימוש מאוחר יותר עם mysql או phpmyadmin) אשר לאחר מכן ניתן לייבא למסד הנתונים ישירות. זה הרבה יותר מהיר מ- importDump.php, אולם הוא רק מייבא את התיקונים (תוכן העמוד) ולא מעדכן את טבלאות הקישור הפנימיות בהתאם. פירוש הדבר שדפי קטגוריות ודפים מיוחדים רבים יציגו מידע שלם או שגוי אלא אם כן תעדכן טבלאות אלה.
    • אם זמין, מלא את טבלאות הקישור על ידי ייבוא dumpי SQL נפרדים של טבלאות אלה באמצעות לקוח שורת הפקודה mysql ישירות. עבור ויקי ויקימדיה (כולל ויקיפדיה), זה מסופק יחד עם dumpי XML. אחרת, הפעל את buildbuildall.php. שים לב שפקודה זו תימשך זמן רב מכיוון שהיא חייבת לנתח את כל הדפים. זה לא מומלץ עבור קבוצות נתונים גדולות.
  4. 4
    נסה xml2sql. זהו ממיר XML ל- SQL נוסף הדומה ל- mwdumper אך הוא אינו כלי רשמי ואינו מתוחזק על ידי מפתחי MediaWiki. זוהי תוכנית ANSI C מרובת פלטפורמות וייבוא באמצעות זה עשוי להיות מהיר, אך אינו מעדכן נתונים משניים כמו טבלאות קישורים, לכן עליך להפעיל את buildbuildall.php, מה שמבטל את היתרון הזה.
ניתן לייבא את זה לויקי אחר באמצעות MediaWiki דרך הדף Special
ניתן לייבא את זה לויקי אחר באמצעות MediaWiki דרך הדף Special: Import או באמצעות mwdumper או xml2sql.

טיפים

  • כדי להפעיל את importDump.php (או כל כלי אחר מספריית התחזוקה), עליך להגדיר את קובץ Admin Settings.php שלך. למי שמשתמש בגרסת MediaWiki מעל 1,16, המגבלה אינה רלוונטית. פשוט תתעלם מזה.
  • שים לב ש- Xml2sql עשוי להיות לא תואם לגרסה האחרונה של MediaWiki.

אזהרות

  • הפעלת importDump.php עשויה לקחת זמן רב למדי. עבור מזבלה גדולה בוויקיפדיה עם מיליוני עמודים, זה עלול לקחת ימים אפילו בשרת מהיר.
    • באופן דומה, ייתכן שלא מומלץ להשתמש בייבוא עבור מערכי נתונים גדולים.
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail