Jump to content

Podręcznik:Częste błędy i symptomy

From mediawiki.org
This page is a translated version of the page Manual:Common errors and symptoms and the translation is 96% complete.
Outdated translations are marked like this.


Widzisz pustą stronę

Pusta strona oznacza, że wystąpił błąd PHP, który nie jest wyświetlany na ekranie. Aby to wymusić, dodaj następujące linijki do pliku LocalSettings.php, po <?php:

error_reporting( E_ALL );
ini_set( 'display_errors', 1 );

Możesz ustawić wartość dla error_log w PHP.ini i przeczytać dziennik błędów PHP, by się dowiedzieć, co się dzieje. W niektórych przypadkach błędy PHP mogą być zapisane w dzienniku błędów serwera Web.

W raportach błędów może być:

  • "Uwaga [...] Nie jest bezpieczne, by polegać na ustawieniach strefy czasowej systemu. *Musisz* użyć ustawienia date.timezone lub funkcji date_default_timezone_set()." Sprawdź, czy date.timezone = jest ustawiony poprawnie w php.ini.
  • Niektóre pliki mogą być zgłoszone jako brakujące (np. jeśli folder media w /includes nie istnieje, możesz otrzymać wiadomość, że wymagany proces obrazowania "nie mógł otworzyć strumienia"). Sprawdź oryginalny pakiet instalacyjny MediaWiki (upewnij się, że skonsultowałeś o poprawną wersję), aby zobaczyć, czy o to chodzi. Jeśli tak, skopiuj brakujące pliki z pakietu do folderu MediaWiki. Prawdopodobnie trzeba odświeżyć pamięć cache i potem zrestartować serwer Web.
  • Nie można znaleźć gniazda MySQL. Jeśli LocalSettings.php jest ustawione na poprawne gniazdo MySQL, ale nie php.ini, to może skutkować pustym ekranem bez wyjścia z błędem z serwera Web czy PHP. Można to naprawić, aktualizując wpis mysql.default_socket w pliku php.ini.

Dużo użytkowników zgłasza puste strony w nowszych wersjach po przesłaniu artykułów do nowej wiki. Prawdopodobnie powodem jest limit pamięci w instalacjach PHP (zwykle 8 MB). Proszę sprawdzić dzienniki błędów PHP lub Apache. Aby zmodyfikować to ustawienie, zmień /etc/php.ini i zwiększ ustawienie memory_limit. Na przykład, by zwiększyć je do 32 MB, zastąp istniejący tekst memory_limit = 32M. Upewnij się, że serwer Web został zrestartowany po zmianie tej wartości.

Limit pamięci mógł być ustawiony w pliku LocalSettings.php. Znajdź linijkę zawierającą ustawienie memory_limit i zwiększ do potrzebnej wartości. 20M może nie starczyć, jeśli aktywna wersja to 1.15.1. Zmień ją np. na "memory_limit = 32M". Ta zmiana nie wymaga restartu Apache.

Jeśli ładowanie strony się zatrzyma po jakimś czasie (jak 30 sekund) podczas jakiejś akcji i jeśli strona jest pusta lub wystąpi błąd HTTP 500, problemem jest limit czasu w połączeniu z serwerem. Może być to serwer bazy danych, czy jeśli to się zdarza podczas określonej akcji, serwer poczty (jeśli są skonfigurowane ustawienia e-mail). Jeśli to serwer e-mail, sprawdź, czy możesz połączyć się z nim z serwera MediaWiki, np. uruchamiając klienta Telnet do serwera i portu skonfigurowanego na $wgSMTP i obserwując, czy może się połączyć.

Jeśli możesz zobaczyć treść strony chwilowo i nagle cała strona staje się pusta, problem najpewniej jest spowodowany obecnością instrukcji JavaScript document.write, document.writeln lub document.open w skryptach wiki. Możesz sprawdzić, czy w tym tkwi problem, jeśli otworzysz konsolę przeglądarki (wciśnij F12) i odświeżysz stronę. Jeśli karta sieci pokazuje status HTTP 200, a transfer ma co najmniej kilka kilobajtów, być może to jest powód problemu. To są przestarzałe metody interfejsu Document, które powodują, że strona staje się pusta, jeśli użyte poza HTML strony, i mogą być obecne na stronach JavaScript wiki. Odradza się ich użycia, co jest wskazywane przez samą specyfikację HTMLa. Możesz wyłączyć JavaScript w przeglądarce, albo ustawić $wgUseSiteJs i $wgAllowUserJs na false, by wyłączyć te skrypty, aż naprawisz zepsute skrypty.

Błędy MediaWiki

Wszystkie strony nie mają treści, ale podczas edytowania strony jest wikikod

Opcjonalnie z tymi komunikatami o błędzie:

PHP Warning: preg_replace(): Compilation failed: group name must start with a
  non-digit at offset 4 in /var/www/wiki/htdocs/includes/MagicWord.php

To jest spowodowane zmianą w PCRE 8.34, przez którą nazwy grup otaczających nie mogą się zaczynać od cyfry. Potrzebna jest aktualizacja MediaWiki do wspieranej wersji. Zobacz Updating to PCRE 8.33 or Higher . Ten problem jest rozwiązany we wszystkich obecnie wspieranych wersjach MediaWiki (zobacz zadanie T60640). PCRE 8.33 i 8.34 zostały wydane w 2013 r.

Zobacz raport: Topic:Rz2zo0m88rrxqrfn, Thread:Project:Support desk/MediaWiki don't work with PCRE 8.34 (2)

Miniatury zdjęć nie działają i/lub się nie pojawiają

Ta sekcja wymienia problemy i rozwiązania związane z tym, że miniatury się nie wyświetlają lub nie renderują.

Błąd podczas tworzenia miniatury: Brakuje pliku:

Może to być z powodu niewłaściwych wartości zmiennych globalnych, jak wyjaśniono w:

Błąd języka separatora dziesiętnego w srcset

Jeśli miniatury się nie pojawiają, a nie ma błędu na tych stronach, zobacz kod źródłowy HTML na stronie i znajdź srcset. Jeśli znajdziesz coś jak <img ... srcset="/images/thumb/File.png/600px-File.png 1,5x, /images/thumb/File.png/800px-File.png 2x">, gdzie jest 1,5x zamiast 1.5x, problem jest spowodowany przez zadanie T181987, i powinieneś dodać to do LocalSettings.php:

setlocale(LC_NUMERIC, "C");

Upewnij się, że $wgShellLocale nie jest zdefiniowane w LocalSettings.php, albo dodaj to:

$wgShellLocale = "C.UTF-8";

SVG


Najpierw ustaw $wgSVGConverter . Domyślnie program do konwersji jest ustawiony na ImageMagick.

Użycie ImageMagick

Potrzebny jest ImageMagick 6.x.x lub nowszy. Sprawdź, czy zmienna $wgImageMagickConvertCommand jest prawidłowa. Zwykłe ustawienia to:

$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgImageMagickConvertCommand = "/usr/local/bin/convert";

Jeśli to nie działa, spróbuj ustawić $wgSVGConverterPath .

$wgSVGConverterPath = "/usr/bin";
$wgSVGConverterPath = "/usr/local/bin";

Hosty wspólne mogą mieć różne wersje ImageMagick, by zaspokoić potrzeby różnych użytkowników. Używaj wersji 6.x.x.

  • Aby ustalić wersję ImageMagick, poszukaj w plikach pomocy Twojego hostingu lub użyj /usr/bin/convert --version albo /usr/local/bin/convert --version, aby wykryć.
  • Na hostach współdzielonych GoDaddy "/usr/bin/convert" dla wersji 5.5.6 i "/usr/local/bin/convert" dla wersji 6.2.8.

Jeśli wygenerowanie miniatur przez ImageMagick się nie powiedzie z komunikatem o błędzie w dzienniku serwera Web, takim jak "Nie powiodła się alokacja pamięci" czy "/bin/ulimit4.sh: Naruszenie ochrony pamięci /usr/bin/convert ...", to wartość $wgMaxShellMemory powinna być zwiększona.

Jeśli w ścieżce brakuje znaków spoza ASCII

  • Sprawdź, czy UTF-8 jest dostępne na Twoim serwerze, uruchamiając locale -a
  • Jeśli to niedostępne, uruchom locale-gen en_US.utf8 lub umieść języki z UTF-8 dla Twojego kraju i zmień wartość $wgShellLocale według tego.

Jeśli się używa IIS czy FastCGI w Windowsie, używane konto gościa też musi mieć uprawnienia do wykonywania C:\Windows\System32\cmd.exe, w przeciwnym razie wystąpi błąd "Nie można stworzyć forka".

Używanie Batik

MediaWiki ustala limity czasu i pamięci dla komend powłoki w Linuksie. Jeśli otrzymujesz błąd "Wystąpił błąd podczas inicjalizacji maszyny wirtualnej, Nie można zarezerwować wystarczającego miejsca dla kopca obiektowego, Nie można utworzyć maszyny wirtualnej Java", spróbuj zwiększyć wartość $wgMaxShellMemory .

Używanie rsvg

Na niektórych instalacjach Linuksa czy BSD rsvg ma zmienioną nazwę:

Zamiast ustawiać (domyślnie)

$wgSVGConverters = array( 'rsvg' => '$path/rsvg -w$width -h$height $input $output' );

chcesz ustawić to na

$wgSVGConverters = array( 'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input' );

JPEG

Symptom: Ten komunikat o błędzie w szarym obszarze:

Błąd tworzenia miniatury: Nieprawidłowe parametry miniatury

Jeden z powodów: liczba pikseli w oryginalnym obrazie przekracza $wgMaxImageArea . Domyślna wartość 1.25e7 jest zbyt mała dla wielu nowoczesnych aparatów. To źle, że diagnostyka za bardzo nie wskazuje na problem.

Możesz zwiększyć wartość $wgMaxImageArea lub przełączyć na użycie ImageMagick, który unika tego ograniczenia (ustaw $wgUseImageMagick i $wgImageMagickConvertCommand ).

Przetwarzanie dużych obrazów może zajmować dużo czasu. Może być dobrą polityką, by ustalić maksymalny rozmiar obrazu.

JPEG (używanie GD)

Symptom: Ten komunikat o błędzie w szarym obszarze:

Error creating thumbnail: Incomplete GD library configuration: missing function imagecreatefromjpeg

Niektóre wersje PHP 4.x i 5.x mają buga, gdzie libjpeg jest wykryte, ale nie włączone podczas kroku ./configure; to przeważnie się zdarza na systemach Red Hat/RHEL/CentOS. Jeśli nie chcesz korzystać z ImageMagick, sposobem naprawy jest rekompilacja PHP. Najpierw dowiedz się (z phpinfo()), jakie były istniejące przełączniki ./configure, i dodaj --with-jpeg-dir przed --with-gd.

make clean
./configure --z-różnymi-przełącznikami --with-jpeg-dir --with-gd --więcej-przełączników
make
make test
# przełącz na root
make install

Potem zrestartuj serwer Web (dla Apache na Red Hat: service apache stop, potem service apache start). Żeby to sprawdzić, po prostu wyświetl stronę File:... ponownie (bez potrzeby ponownego przesyłania pliku). By uzyskać więcej informacji, zobacz komentarze na PHP: imagecreatefromjpeg (streszczenie funkcji)

Nie można zapisać miniatury do celu

Jeśli otrzymujesz błąd "Błąd podczas generowania miniatury / Błąd podczas tworzenia miniatury: Nie można zapisać miniatury do celu" i folder $wgUploadDirectory ma poprawne uprawnienia na wszystkich poziomach, sprawdź, czy $wgTmpDirectory istnieje. (W przeciwieństwie do niektórych zmiennych używających ścieżek, takich jak $wgCacheDirectory , $wgTmpDirectory nie jest tworzone podczas wykonywania). Otrzymasz bardziej szczegółową wiadomość, jeśli włączysz dziennik za pomocą $wgDebugLogFile .

Ten błąd może się też zdarzyć, jeśli tryb "tylko do odczytu" ($wgReadOnly ) został ustawiony w LocalSettings.php. Możesz spróbować usunąć $wgReadOnly, aby zobaczyć, czy to naprawi problem.

Błąd podczas tworzenia miniatury: Kod błędu: 25

Jeśli otrzymujesz "Błąd podczas tworzenia miniatury: Kod błędu: 25" z ImageMagick, spróbuj zwiększyć $wgMaxShellFileSize .

Ręczne dodawanie miniatur

W przypadkach, w których nie można dynamicznie stworzyć miniatur na życzenie (np. dla bardzo dużych zdjęć, "Błąd podczas tworzenia miniatury: nie można zwiększyć pamięci cache", "Błąd podczas tworzenia miniatury: convert: nie zdefiniowano zdjęć", itp.), to można ręcznie dodać miniatury. To polega na tworzeniu mniejszych obrazów w żądanym rozmiarze i przesyłaniu ich do folderu thumb/ w $wgUploadDirectory .

Na przykład plik przesłany do:

images/f/f8/Foo.png

powinien mieć miniatury w:

images/thumb/f/f8/Foo.png/100px-Foo.png
images/thumb/f/f8/Foo.png/600px-Foo.png

Rozmiar piksela jest wymiarem poziomym. Przykładowy skrypt w Bashu do tworzenia miniatur jest dostępny na Phabricator:P7049.

Błąd podczas tworzenia miniatury: Kod błędu: -1 na wspólnym hostingu OVH

Z niezidentyfikowanych powodów tworzenie miniatur na niektórych wspólnych hostingach OVH przestaje działać z tym błędem, nawet jeśli uruchamianie polecenia w powłoce SSH działa.

Rozwiązaniem jest wyłączenie ImageMagick, ustawiając $wgUseImageMagick na false w LocalSettings.php:

$wgUseImageMagick = false;

Uwaga! Serwer nie może przetworzyć tej edycji z powodu utraty danych sesji. Być może doszło do wylogowania. Proszę, spróbuj ponownie. Jeśli to nie pomoże – spróbuj wylogować się i zalogować ponownie.

Limity zawartości

Jeśli twój serwer Apache ma łatkę Hardened PHP, musisz zmienić kilka zmiennych w /etc/php.ini jeśli chcesz mieć dużo treści na stronach wiki. W szczególności rozważ ustawienia varfilter.max_value_length, hphp.post.max_value_length i hphp.request.max_value_length. Ustawienia domyślne mogą ograniczyć rozmiar strony do 10k czy 64k.

Inna możliwość to używanie mod_security przez serwer Apache, który może zakłócać działanie MediaWiki. Potrzebne jest jego wyłączenie, by MediaWiki mogło działać poprawnie.

Nie podałeś prawidłowej nazwy użytkownika / Całkowicie puste edycje i podglądy / Nie można przesłać pliku

To jest spowodowane czymś, co usunęło część lub całość danych POST z przeglądarki do serwera Web.

W co najmniej jednym przypadku to było spowodowane przez post_max_size i upload_max_filesize w php.ini ustawione na zbyt dużą wartość (2048M). Naprawi to ustawienie ich z powrotem na bardziej rozsądne wartości (8M). Widocznie żadne dane POST nie dostały się do MediaWiki.

W innym przypadku mod_auth_sspi zakłócało żądania HTTP POST do MediaWiki. Używanie Firefoksa i wprowadzanie danych logowania działa dobrze, ale przez MSIE to nie zadziała. To jest znany defekt w mod_auth_sspi 1.0.4.

Masz kilka opcji, żeby sprawić, że to zadziała:

  • Wyłącz SSPIOfferSSPI ← to powiadomi użytkowników, żeby wprowadzili dane logowania do domeny, to samo, co tryb BASIC
  • Włącz SSPIPerRequestAuth ← Nie widzę, żeby to była zdrowa konfiguracja, ale zadziałała (oprócz wysokich opóźnień połączenia, z którymi muszę walczyć)
  • Cofnij do wersji 1.0.3, ale to to samo, co #2 powyżej.

Wiki pojawia się bez stylów i nie ma zdjęć

Jeśli wiki wygląda, jak należy z tego samego serwera, na którym jest umieszczona, ale pojawia się bez stylów CSS (brak kolorów, teł, zdjęć, minimalnego formatowania, itp.) podczas dostępu z innych urządzeń (lub niektórych), najprawdopodobniej powodem jest to, że serwer ma problemy z ustalaniem adresu IP lub nazwy hosta dostępu, lub jest źle skonfigurowana. To powoduje, że adresy URL do stylów i obrazów są wygenerowane za pomocą adresu loopback 127.0.0.1, localhost, lub nazwy hosta nieznanej poza serwerem. Możesz zobaczyć kod źródłowy dowolnej strony i sprawdzić, jak wyglądają adresy i co się dzieje, jak próbujesz uzyskać do nich dostęp bezpośrednio z przeglądarki.

Rozwiązaniem jest ręczne ustawienie zmiennej $wgServer na nazwę hosta, której wszyscy będą używać do dostępu do wiki.

Jeżeli jest dostęp do wiki z sieci wewnętrznej i zewnętrznej, być może jest potrzeba użycia adresu zewnętrznego dla $wgServer. Nie zapomnij numeru portu, jeśli używasz niestandardowego portu; może to być, jeśli twój ISP zablokował port 80 (Przykład: $wgServer = "http://example.domain.com:8080";)

Jeśli style się nie stosują nawet jeśli przeglądasz wiki z serwera, z którego jest hostowana, problemem może być błąd PHP w skrypcie load.php ResourceLoader a. Spróbuj wyszukać plik load.php w Twojej instalacji MediaWiki za pomocą przeglądarki i zobaczyć, czy wyświetlają się błędy lub po prostu pusta strona (zobacz #Widzisz pustą stronę). Należy zobaczyć komentarz podobny do /* Nie wymagane są moduły. Max kazał mi to tu umieścić */. Jeśli tak, to może być problem z plikiem .htaccess serwera Web.

Jeśli zamiast tego widzisz błąd 404 Not Found, może być to problem z regułami przepisania URLi serwera Web, jeśli próbowałeś skonfigurować krótkie URLe.

Jeśli otrzymujesz błędy 500 z adresów load.php, sprawdź pliki dzienników błędów serwera Web, aby uzyskać więcej informacji na temat błędów. Wydaje się to być problemem z niektórymi wersjami PHP i Gentoo, które powodują, że Apache narusza ochronę pamięci.[1] To może też się zdarzyć jeśli APC jest włączone, ustawianie apc.serializer=php w php.ini może pomóc.[2]

Od MediaWiki 1.23 możesz zauważyć, że większość stylów dla skórki Wektor, takie jak pasek boczny, zostały umieszczone na końcu strony. Może to być spowodowane niskim pcre.backtrack_limit ustawionym na niektórych dystrybucjach jak FreeBSD. Problemy pojawiają się z wartościami ok. 10000. Zwiększ tę wartość do 100000, lub do obecnej wartości domyślnej, 1000000.

Od MediaWiki 1.26 niektóre skórki, szczególnie Wektor, mogą mieć ten problem. Jeśli widzisz błąd Błąd wewnętrzny Problematyczne moduły: {"startup":"error"} w konsoli błędów w przeglądarce, najczęściej powodem jest brak uprawnień MediaWiki do zapisu do domyślnego katalogu tymczasowego, gdy PHP nie ma uprawnień do zapisu do /tmp (C:\WINDOWS\TEMP w Windowsie) lub jeśli jest ograniczenie dla open_basedir, i ścieżka nie jest tam zawarta. Zobacz zadanie T119934. Możesz ustawić $wgTmpDirectory , jeśli nie możesz zmienić uprawnień domyślnego folderu tymczasowego systemu.

Błąd: nieznane słowo magiczne 'speciale'

Wersja MediaWiki:
1.20

Jeśli ten błąd pojawia się po aktualizacji, musisz uruchomić skrypt konserwacyjny rebuildLocalisationCache.php z opcją --force:

php rebuildLocalisationCache.php --force

Zlokalizowane ciągi znaków wyświetlają identyfikator wiadomości zamiast zlokalizowanego wyniku

Jeśli widzisz to, spróbuj uruchomić skrypt utrzymania rebuildLocalisationCache.php z opcją --force:

php rebuildLocalisationCache.php --force

To zmusi MediaWiki do odbudowy pamięci cache lokalizacji.

Brakujący pasek narzędzi edycyjnych, JavaScript nie działa

Od MediaWiki 1.32, MediaWiki już nie ma wbudowanego paska narzędzi edycyjnych "zasilanego JavaScriptem". Zamiast tego administratorzy systemu muszą wybrać jedno (lub wiele) rozszerzeń dostępnych do tego celu, jeśli potrzebują funkcjonalności. Wydania "tarballe" MediaWiki zawierają rozszerzenie zastępcze, MediaWiki 1.32 , także znane jako "edytor wikitekstu 2010", od wielu lat. Upewnij się, że to rozszerzenie zostało zainstalowane. The old "bulletin board style toolbar", known as "the 2006 wikitext editor", has been removed, and instead sysadmins will be required to choose one (or more) of the several extensions available for this purpose if they need the functionality. The MediaWiki "tarball" releases have included the replacement extension for this, the WikiEditor extension aka "the 2010 wikitext editor", for many years now. Be sure this extension has been installed.

Jeżeli JavaScript nie działa (jednym ze skutków jest niepojawienie się paska narzędzi edycyjnych podczas edycji strony), może to być spowodowane błędem JavaScript. Otwórz konsolę przeglądarki (zwykle za pomocą F12) i przeładuj stronę. Obserwuj, czy są komunikaty o błędzie. Jeśli jest tam błąd, zwykle ustawianie $wgShowExceptionDetails da więcej informacji. Czasami problemem jest to, że nie można zapisać w folderze plików tymczasowych systemu. W tym przypadku możesz ustawić $wgTmpDirectory , jeśli nie możesz zmienić uprawnień domyślnego folderu tymczasowego systemu.

Jeśli dostajesz błędy jak Nieprzechwycony SyntaxError: Nieoczekiwany symbol < lub Błąd: SyntaxError: błąd składni (...) Kod źródłowy: <script (...), powodem jest zwykle hosting, który automatycznie wstawia kod HTML do śledzenia lub reklam w skrypcie load.php , który jest używany przez ResourceLoadera do ładowania skryptów i CSSa używanych przez MediaWiki. Otwórz prośbę obsługi z Twoim hostingiem, w którym się zapytasz o wyłączenie wstawiania skryptów. Jeśli to nie jest możliwe, powinieneś przenieść stronę na inny hosting. To najczęściej się zdarza na darmowych hostingach.

Wszystkie strony pokazują fatalny błąd, dziennik pokazuje "MagicWordArray::parseMatch: nie znaleziono parametru"

Spróbuj odbudować cache języków:

php maintenance/rebuildLocalisationCache.php

Z tego wątku.

Wszystkie przesyłania plików nie działają z komunikatem "Przesłany plik wydaje się być pusty..."

To może być spowodowane nieprawidłowymi regułami przepisania podczas konfiguracji krótkich URLi. Spróbuj je wyłączyć (i powiązane zmienne konfiguracyjne MediaWiki), aby zobaczyć, czy to rozwiązuje problem.

Innym powodem może być limit danych, które serwer Web może otrzymać podczas jednego żądania. Zobacz Manual:Configuring file uploads#Set maximum size for file uploads dla niektórych zmiennych konfiguracyjnych. Jeśli masz mod_security lub suhosin zainstalowane, to też może ograniczać rozmiar przesyłanych plików, odrzucając przesyłanie całkowicie, zanim PHP to zauważy.

Sprawdź także dyrektywę upload_tmp_dir z php.ini i upewnij się, czy folder ma właściwe uprawnienia do zapisu dla użytkownika uruchamiającego PHP. Na Windowsie ta dyrektywa często wskazuje na C:\Windows\TEMP, co może być niedostępne w niektórych warunkach. W tym przypadku możesz ustawić inny folder tymczasowy jak C:\TEMP\ z poprawnymi uprawnieniami. Aby odrzucić wszystkie problemy, tymczasowo daj temu folderowi wszystkie uprawnienia (na Windowsie, dodaj lokalną grupę użytkowników "Wszyscy" z pełną kontrolą) i potem ogranicz uprawnienia, jak należy, po sprawdzeniu, czy przesyły działają.

Jeśli wszystkie przesyły nie działają z wiadomością "Przesłany plik wydaje się pusty. Może być to spowodowane literówką w nazwie pliku. Sprawdź, czy nazwa jest prawidłowa." i w dzienniku błędów Apache są wpisy jak:

Notice: Undefined index: tmp_name in /srv/www/htdocs/mediawiki/includes/WebRequest.php on line 1153
Notice: Undefined index: size in /srv/www/htdocs/mediawiki/includes/WebRequest.php on line 1140
Notice: Undefined index: error in /srv/www/htdocs/mediawiki/includes/WebRequest.php on line 1167

To jest problem z wersją PHP używanej przez Twój serwer Web. Było kilka zgłoszeń tego problemu z PHP 5.3.8 na SLES11 sp2. Potrzebna jest aktualizacja PHP lub ręczna rekompilacja.

WAMP/Apache na Windowsie: Niektóre strony specjalne są niedostępne

Może się zdarzyć na instalacjach na Windowsie pod Apache, że niektóre strony specjalne są niedostępne, co daje błąd, i w dzienniku widzisz następujące wpisy:

[core:error] The given path is misformatted or contained invalid characters: [client 127.0.0.1] AH00127: Cannot map GET /wiki/Special:SpecialPages HTTP/1.1 to file

To może być spowodowane przez różne bugi w PHP. Jednym z nich jest zainstalowanie wiki na dowiązaniu symbolicznym NTFS. Jeśli to nie jest problem, zaktualizowanie PHP do nowszej wersji może pomóc (zobacz ten wątek forum).

Próba zapisu edycji zwraca błąd 403 Forbidden lub przekierowuje na stronę główną

To jest częsty problem na wspólnych hostingach, które mają włączone mod_security. Żeby wiedzieć, czy to problem z mod_security, czy nie, utwórz prostą stronę i zapisz ją z małą zawartością tekstową (coś prostego jak kropka w treści). Jeżeli ta edycja jest zapisana, ale inne nie, jest to wina mod_security. Poproś obsługę Twojego hostingu, by zostało wyłączone całkowicie, lub tylko reguły wpływające na Twoje edycje.

Jeśli zapisywanie nawet prostej edycji przekierowuje Cię na stronę główną lub na tę samą stronę bez edycji, może być to problem z ustawieniem $wgServer lub jakiejś innej zmiennej konfiguracyjnej, która kontroluje ścieżkę skryptu index.php, lub jest zakłócana przez reguły przepisania w konfiguracji Twojego serwera Web.

Strona logowania wyświetla uwagę o wyłączonych ciasteczkach

You may get a message like MediaWiki wykorzystuje ciasteczka do przechowywania informacji o zalogowaniu się przez użytkownika. Masz obecnie w przeglądarce wyłączoną obsługę ciasteczek. Spróbuj ponownie po jej włączeniu..

Jeśli ciasteczka nie są wyłączone w przeglądarce, może być to jeden z następujących problemów:

  • Masz $wgSessionsInMemcached ustawione na true, ale MediaWiki nie może się połączyć z Memcached. Wyłącz to ustawienie lub sprawdź konfigurację Memcached.
  • Nieprawidłowa konfiguracja ciasteczek. Zmienne konfiguracyjne o ciasteczkach powinny działać z ich wartościami domyślnymi. Spróbuj nie nadpisywać żadnej z nich.
  • session_save_path() nie jest ustawione poprawnie na serwerze albo serwer nie ma uprawnień do zapisu do tej ścieżki.
  • Jeśli używasz proxy cache z MediaWiki, sprawdź, czy nie filtruje ciasteczek.
  • session.referer_check() jest ustawione niepoprawnie. Najczęściej powinno być puste.

Ustawianie dziennika debugowania powinno wyświetlać każde ciasteczko otrzymane przez MediaWiki, więc to powinien być pierwszy krok w wykrywaniu nieotrzymanych ciasteczek.

MediaWiki nie funkcjonuje gdy magiczne cudzysłowy są włączone

Wersja MediaWiki:
1.23

Wersja MediaWiki:
1.24

Magiczne cudzysłowy to funkcja PHP, która została zdeprecjonowana w 5.3 i usunięta w 5.4. Jeśli dostajesz taki błąd, musisz wyłączyć magiczne cudzysłowy w ustawieniach serwera. Zobacz jak to zrobić.

Dyskusje: Thread:Project:Support_desk/Problems_with_installing_mediawiki, Topic:S79xdn9u15xw55vj, Topic:Sdpbmy9q9e0ttp6k, Topic:S7g4rybniat2i36e, Topic:S6vqwk0tysl6m8lc

Błąd podczas tworzenia miniatury: Plik o wymiarach większych niż 12,5 MP

Zwiększenie $wgMaxImageArea może pomóc pozbyć się problemu (przetestowano na MediaWiki 1.26.2).

Internal Server Error podczas otwierania dowolnej strony

Jeśli zdjęcia się nie wyświetlają na stronach, a ręczne otwieranie URLa dowolnego zdjęcia pokazuje stronę Internal Server Error, za problemem najprawdopodobniej stoi plik .htaccess w folderze images. Ten plik konfiguracyjny zawiera kilka reguł przepisania, aby stare wersje Internet Explorera były chronione przed zagrożeniem cross-site scripting. Niektóre hosty, np. strato.de, nie zezwalają na dyrektywę RewriteOptions w .htaccess, co sprawia, że każde żądanie o plik w folderze images się nie powiedzie z powodu błędu. Jeśli nie możesz włączyć reguł przepisania w pliku .htaccess, najpewniej trzeba zakomentować czy usunąć te linijki z pliku .htaccess, albo usunąć ten plik. Zobacz ten wątek.

Edycje nie pojawiają się w Ostatnich zmianach, Ostatnie zmiany nie aktualizują się

Domyślnie w "Nawodnych zmianach" jest filtr, który ukrywa edycje wykonane przez boty. Wyczyść ten filtr i sprawdź, czy pojawiają się zmiany.

Jeśli włączanie wyświetlania edytów wykonanych przez boty nie sprawia, że pojawią się w ostatnich zmianach, problem występuje zwykle w jednej z zainstalowanych rozszerzeń, powodując błąd podczas aktualizacji ostatnich zmian. Aktualizacja ostatnich zmian podczas wykonywania edycji lub innego działania jest odroczona do momentu, gdy strona zostanie wysłana do przeglądarki. Jednak błąd może przerwać takie aktualizacje, a błąd nie zostanie wyświetlany użytkownikowi. Aby wykryć takie błędy, Skonfiguruj plik dziennika debugowania (pamiętaj, aby wyłączyć go po zakończeniu diagnozy) i zapisz nową edycję na stronie. Jeśli wystąpi błąd, powinien być zapisanie tam - ale pamiętaj, że zapisa wiele innych rzeczy, spróbuj wyszukiwać "error" lub "exception". Błąd może wskazywać na wykonanie wykonania, a także na wydłużenie, które prawdopodobnie spowodowało błąd.

Upewnij się, że rozszerzenia są zgodne z wersją MediaWiki.

Strony kategorii, Specjalna:Linkujące i użycie pliku nie są aktualizowane

Informacje o stronach będących częścią kategorii, linki do innych stron wiki i obrazów umieszczanych na stronach są śledzone w specjalnych tabelach. Aktualizacja tych tabel nie jest wykonywana tuż po zapisaniu edycji, ale wstawiana do kolejki prac z powodów wydajności. Jeśli aktualizacja trwa zbyt długo, być może trzeba dopasować $wgJobRunRate , lub spróbować ustawić $wgRunJobsAsync na false w LocalSettings.php. To może się zdarzyć na niektórych instalacjach, zwłaszcza począwszy od MediaWiki 1.27 (zobacz zadanie T142751).

Błąd: Nie można otworzyć pliku blokady dla "mwstore://local-backend/local-public/./../image.png

Sprawdź, czy folder "images" ma uprawnienia do zapisu. Na przykład: chown -R www-data:www-data images i chmod -R 777 images. Jeśli SELinux jest włączony, to też może sprawiać problemy.

Uwaga: Nie można znaleźć aliasu dla strony specjalnej 'Foo'. Może nie ma żadnego zdefiniowanego aliasu? [Przywołane z SpecialPageFactory::getLocalNameFor w ...

Musisz stworzyć plik z aliasami, Wpisz coś takiego do pliku extension.json:

	"ExtensionMessagesFiles": {
		"SpecialMyExt": "MyExt.alias.php"
	},
	"MessagesDirs": {
		"MyExt": [
			"i18n"
		]
	},

Potem stwórz plik z aliasami w taki sposób:

MyExt.alias.php

<?php
/**
 * Aliases for Special:Foo
 *
 * @file
 * @ingroup Extensions
 */

$specialPageAliases = [];

/** English (English) */
$specialPageAliases['en'] = [
   'MyExt' => [ 'MyExt' ],
];

Sprawdź, czy nie masz elementu $wgMessagesDirs z identycznym kluczem. Klucze $wgExtensionMessagesFiles, które są też w $wgMessagesDirs, zostaną pominięte.

Uwaga: Niewłaściwy argument przekazany do foreach() w ./includes/objectcache/SqlBagOStuff.php

Najprawdopodobniej przeniosłeś wiki i nie zaimportowałeś bazy danych, więc jest pusta.

Warning: Invalid argument supplied for foreach() in ./includes/cache/localisation/LocalisationCache.php on line 459

To fix the warning uncomment in LocalSettings.php line

#$wgCacheDirectory = "$IP/cache";

Wydaje się, że wystąpił błąd z Twoją sesją zalogowania; to działanie zostało anulowane, aby uniknąć przechwycenia sesji. Prześlij formularz jeszcze raz.

Proszę przeczytać Manual:How to debug/Login problems .

Przywołanie niezdefiniowanej metody

Jeśli rozszerzenie MediaWiki pokazuje ten błąd po instalacji tego rozszerzenia MediaWiki, sprawdź, czy pobrałeś wersję lub gałąź tego rozszerzenia, która pasuje do wersji lub gałęzi Twojej instalacji MediaWiki.

Nie można uruchamiać programów zewnętrznych, proc_open() jest wyłączone

Ta funkcja została wyłączona w php.ini. To sprawia, że nie można użyć ImageMagick do zmiany rozmiarów zdjęć do tworzenia miniatur. Albo skontaktuj się z Twoim hostingiem, albo spróbuj użyć gd zamiast ImageMagick, ustawiając $wgUseImageMagick na false.

<span id="CAS_update_failed_on_user_touched_for_user_ID_'*'_(read_from_slave);_the_version_of_the_user_to_be_saved_is_older_than_the_current_version">

Aktualizacja CAS się nie powiodła w user_touched dla ID użytkownika '*' (odczytany z poddanego); wersja użytkownika do zapisania jest starsza od obecnej wersji

Jest kilka powodów dla tego błędu. Jedną z nich jest to, czy zawartość user.user_touched jest pusta lub jest ustawiona na czas w przyszłości.

Na pewno chcesz sprawdzić, czy czas serwera jest ustawiony poprawnie i zsynchronizowany. Lub sprawdź treść tej kolumny i wypełnij kolumnę poprawną treścią np. za pomocą tej instrukcji SQL:

UPDATE `user` SET user_touched='20241121103935'
WHERE HEX(
	user_touched
)='0000000000000000000000000000';
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- 28 zer

Gdzie data jest w formacie YYYYMMDDHHMMSS dla obecnej daty i godziny. Zobacz phab:T247751.

Błąd Lua: Błąd wewnętrzny

Wystąpił błąd podczas wykonywania zapytania do bazy danych. Może to wskazywać na błąd w oprogramowaniu.

Jeśli ostatnio zaktualizowałeś MediaWiki lub zainstalowałeś, lub aktualizowałeś rozszerzenia, spróbuj wykonać skrypt konserwacyjny update.php . (Zobacz też Podręcznik:Aktualizowanie ).

Jeśli to nie pomaga, to być może naprawdę mógł to być bug w oprogramowaniu. Spróbuj uzyskać więcej szczegółów na temat nieudanego zapytania (Podręcznik:Jak debugować ) i zgłoś błąd .

Klucz $wgSecretKey jest niebezpieczny, wygenerowano z mt_rand()

Twój system nie wspiera /dev/urandom, więc klucz został wygenerowany za pomocą mt_rand(). Zobacz $wgSecretKey .

MediaWiki wymaga PHP 7.4.3 lub wyższej; używasz PHP 7.3.17

Jeśli wersja PHP na serwerze Web powinna być wystarczająco nowa, sprawdź, czy masz kilka wersji PHP zainstalowanych równocześnie.

Tworz plik info.php z zawartością jednoliniową <?php phpinfo(); i umieść go w katalogu internetowym. Uzyskaj dostęp do niego za pomocą przeglądarki internetowej. Wyświetli wersję PHP używaną przez serwer Web.

Błędy PHP

Fatalny błąd: Dozwolony rozmiar pamięci X bajtów wyczerpany (próba alokacji Y bajtów)

Zwiększ limit pamięci PHP w php.ini:

memory_limit = 64M      ; Maksymalna ilość pamięci, którą może zajmować skrypt (32MB)
Wersja MediaWiki:
1.16

Możesz dodać większą wartość dla $wgMemoryLimit w LocalSettings.php.

Wersja MediaWiki:
1.15
W wersji 1.15 i wcześniejszych, limit pamięci w php.ini mógł być domyślnie nadpisany w LocalSettings.php linijką:
ini_set('memory_limit', '20M');
Możesz tu zwiększyć limit pamięci, lub zakomentować tę linijkę w LocalSettings.php, by użyć limitu określonego w php.ini.
Ten błąd może się często zdarzać z innych powodów. Spójrz na użycie Unicode w systemach, które nie wspierają go poprawnie. Znajdź nazwę pliku i linijkę, i jeśli dowiesz się, że jesteś w sekcji tłumaczenia, która używa znaków spoza ASCII, usuń tę sekcję. Jeśli zwiększyłeś ilość RAM przydzieloną PHP do 512 MB i *nadal* jest błąd wynikający z problemów z pamięcią, to na pewno nie jest problem z pamięcią.

Czytaj tutaj, aby się dowiedzieć więcej o konfiguracji ograniczeń zasobów w PHP.

Fatalny błąd: Nie znaleziono klasy 'DOMDocument' w xxxxxxxx/Preprocessor_DOM.php w linijce nnn

Ten błąd się zdarza gdy PHP nie został skompilowany ze wsparciem dla DOM, lub gdy brakuje rozszerzenia DOM/xml.

  • Zainstaluj prawidłową paczkę php-xml dla Twojej dystrybucji. Przykład: sudo yum install php-xml
  • Można też zmienić klasę 'preprocessor' MediaWiki w LocalSettings.php (zobacz $wgParserConf )
$wgParserConf['preprocessorClass'] = 'Preprocessor_Hash';

Fatalny błąd: Nieprawidłowy opcode 153/1/8. w xxx/includes/cache/MessageCache.php w linijce nnn

Ten problem najprawdopodobniej wskazuje na to, że akcelerator kodu PHP nie pasuje do zainstalowanej wersji PHP lub jest nieaktualny. Spróbuj go zaktualizować. report

Uwaga: Nie można zmienić informacji o nagłówkach — nagłówki już wysłane przez (...)

Najprawdopodobniej twój edytor tekstu dodał znak kolejności bajtów podczas edycji plików PHP MediaWiki, ale dowolna treść przed otwierającym <?php powoduje ten sam problem. To się zwykle dzieje z LocalSettings.php , ale zobacz komunikat o błędzie, żeby się dowiedzieć, z którego pliku jest problem. Pamiętaj, że znaki kolejności bajtów są niewidoczne w większości edytorów tekstu. Aby usunąć BOM, edytuj plik czymś innym niż Notatnik, ale jeśli nie masz czasu, otwórz plik i wybierz Zapisz jako..., potem wybierz "Unikod (UTF-8 Bez sygnatury) - Strona kodowa 65001" jako typ pliku.

Standardy rygorystyczne: date_default_timezone_get(): Nie jest bezpieczne, by polegać na ustawieniach strefy czasowej systemu.

Jeśli otrzymujesz błędy Strict Standards: w wyjściu HTML, to jest dlatego, że zmienna konfiguracyjna PHP error_reporting jest ustawiona na E_ALL, ale od PHP 5.4.0 E_STRICT stało się częścią E_ALL. E_STRICT to nie błędy, ale uwagi o interoperacyjności kodu i kompatybilności w przód kodu PHP, i nie powinny być widoczne w środowisku produkcyjnym.

Po prostu dodaj strefę czasową do LocalSettings.php, np.

$wgLocaltimezone = 'Europe/Berlin';

Poniższe nie działa we wszystkich przypadkach. Może lepiej wstawić to do php.ini, który musi być we wszystkich dotkniętych folderach.

Możesz wyłączyć błędy E_STRICT, dodając następującą linijkę kodu do LocalSettings.php , lub jeśli linijka z funkcją error_reporting istnieje, zastąp ją:

error_reporting( E_ALL & ~( E_STRICT | E_NOTICE ) );

Zamiast tego możesz całkowicie wyłączyć zgłaszanie błędów PHP, używając:

error_reporting( 0 );

Zobacz też: Ustawianie zgłaszania błędów w PHP.

Jeśli nic nie działa, sprawdź na początku LocalSettings.php file: Jeśli ten błąd zdarzył się podczas procesu instalacji, wygenerowany LocalSettings.php mógł zawierać komunikat o błędzie na górze (przykład). Jeśli to się zdarzyło, edytuj plik, usuwając wszystko przed <?php i sprawdź, czy nie ma nic (nawet spacji) przed <?php.

Fatalny błąd: Nie można ponownie zadeklarować wfprofilein()

To może się zdarzyć po aktualizacji jeśli masz plik StartProfiler.php w katalogu głównym instalacji MediaWiki, na pewno dlatego, że włączyłeś profilowanie w poprzedniej instalacji. By rozwiązać problem, po prostu usuń ten plik.

Uwaga: Niedostępne pliki

Po przeniesieniu możesz zobaczyć uwagi PHP o tym, że niektóre pliki są niedostępne. To jest najprawdopodobniej spowodowane przez zadanie T37472: kolumna md_deps w tabeli module_deps zawiera bezwzględne ścieżki plików użyte do zlokalizowania obrazów i plików LESS, od których zależy CSS. Te ścieżki się psują np. gdy wiki jest przeniesiona do innego folderu lub na inny serwer. Do momentu rozwiązania tego buga można użyć tego obejścia, by ręcznie naprawić nieprawidłowe rekordy w tabeli module_deps:

-- Zaktualizuj rekordy w tabeli <code>module_deps</code>
SET @old='wiki.old-domain.org';
SET @new='wiki.new-domain.org';

UPDATE `module_deps` SET `md_deps` = REPLACE( `md_deps`, @old, @new );

To może być użyte do aktualizacji nieprawidłowych segmentów ścieżki i naprawienia błędu.

Wersje MediaWiki:
1.17 – 1.26

Podobny problem może się zdarzyć, gdy MediaWiki próbuje czytać komunikaty z ResourceLoadera. W tym przypadku rozwiązaniem jest ucięcie odpowiadających tabel:

-- Utnij pamięć podręczną powiązaną z komunikatami
TRUNCATE TABLE `msg_resource`;
TRUNCATE TABLE `msg_resource_links`;

Fatalny błąd: Nieprzechwycony wyjątek: extension.json nie istnieje

Wersja MediaWiki:
1.25

Jeśli ten błąd pojawia się podczas instalacji rozszerzenia, to zwykle znaczy, że rozszerzenie nadal wymaga natywnej instrukcji PHP require_once zamiast nowej metody wfLoadExtension().

Błędy instalacji

LocalSettings.php niedostępne do odczytu

  • Na komputerze z Linuksem użyj chown lub chgrp, by poprawić uprawnienia pliku LocalSettings.php.
  • Na niektórych komputerach z Linuksem tymczasowo wyłącz SELinux poleceniem sudo setenforce 0.

Instalator nie ma stylów pod IIS

Instalator nie ma stylów i zamiast arkusza stylów, /mw-config/index.php?css=1 pokazuje ten błąd: "Less_Exception_Parser z linijki 447 w ...\vendor\oyejorge\less.php\lib\Less\Parser.php: Nie można zapisać do folderu cache Less.php: C:\Windows\TEMP"

Upewnij się, że użytkownik serwera Web, który ma domyślnie nazwę IUSR, ma dostęp do folderu C:\Windows\TEMP. Co najmniej uprawnienia do odczytu i zapisu są wymagane.

Błąd podczas wybierania bazy danych: 1044 Odmowa dostępu dla użytkownika 'username'@'localhost' do bazy danych 'wikidb'

Potrzebne jest przyznanie uprawnień na wikidb.*.

GRANT ALL ON wikidb.* TO 'username'@'localhost' IDENTIFIED BY 'password';

lub jeżeli Twój serwer Web jest na innym komputerze niż serwer bazy danych, musisz skonfigurować zdalny dostęp do MySQLa i inaczej przyznać uprawnienia

GRANT ALL ON wikidb.* TO 'username'@'192.168.0.x' IDENTIFIED BY 'password';

UWAGA: Zastąp 192.168.0.x adresem IP Twojego serwera Web. Zauważ, że apostrofy (') muszą zostać.

Baza danych zwróciła błąd "1142: polecenie CREATE zabronione dla użytkownika 'username'@'localhost' dla tabeli 'user_properties' (localhost)"

Jak powyżej, lub tymczasowo użyj użytkownika root MySQL.

Nie można znaleźć odpowiedniego sterownika bazy danych!

Wsparcie MySQL przez PHP nie jest zainstalowane lub włączone — zobacz https://php.net/book.mysqli. W zależności od systemu operacyjnego może zajść potrzeba instalacji dodatkowego pakietu. Na przykład na Debian/Ubuntu uruchom sudo apt install php-mysql.

Błędy wielkości liter w nazwach plików

Jeśli używasz innego klienta FTP niż FileZilla do przesyłania plików na serwer, upewnij się, że nie skonfigurowałeś go do zmiany wielkości liter w nazwach plików. MediaWiki zwraca uwagę na wielkość liter w nazwach plików.

Błędy: przesył niekompletny

Pakiet MediaWiki zawiera mnóstwo plików zawartych w dziesiątkach folderów. Uważaj podczas przesyłania. Jeśli transfer jest przerwany, może brakować pliku lub mogą znaleźć się niekompletne pliki. Należy spróbować przesyłać ponownie kilka razy, szczególnie jeśli masz niestabilne połączenie.

Błąd 403 Forbidden z dowiązaniami symbolicznymi

Jeśli Twój serwer Web zwraca stronę z błędem "403 Forbidden" i używasz dowiązań symbolicznych, sprawdź, czy twój plik httpd.conf Apache ma Options FollowSymLinks, by zezwolić na dowiązania symboliczne, i każdy folder prowadzący do dowiązanego folderu ma uprawnienie +x dla użytkownika, pod którym httpd jest uruchamiany.

Błąd HTTP 500 Internal Error podczas instalacji

Jeśli Twój serwer Web stwarza błąd "500 Internal Error" na początku instalacji, na pewno trzeba zmienić uprawnienia folderu mw-config na 755. Jeśli zmieniłeś uprawnienia folderu konfiguracji i nadal występuje błąd, że folder nie ma dostępu do zapisu, spróbuj zmienić właściciela na apache.

chown -R apache:apache /var/www/html/mediawiki/*

Błąd HTTP 500 Internal Error po instalacji

Jeśli pobrałeś kod MediaWiki z Git i po ukończeniu instalacji w przeglądarce występuje błąd "500 Internal Error", przejdź do folderu instalacji MediaWiki i wykonaj następujące polecenia:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

SELinux

Strona główna: SELinux

Na popularności zyskują dystrybucje Linuksa, które wspierają SELinux ('Security Extensions'). Na takich systemach skrypty PHP nadal nie mogą zapisywać do folderu konfiguracyjnego po ustawieniu zwykłych uprawnień. Poza tym potrzebne jest użycie komendy 'chcon', aby zmienić typ pliku SELinux.

Wymagane reklamy na hostowanych witrynach

Jeśli uruchamiasz oprogramowanie MediaWiki na darmowej witrynie, która wymaga banerów lub reklamowania prefiksu, to może sprawić, że MediaWiki nie zadziała i tylko wygeneruje puste strony poza banerami reklamowymi. Musisz skontaktować się z hostem, aby reklamowanie było kompatybilne z MediaWiki lub wybrać innego hosta.

Debian, Apache2 i PHP

Jeśli uruchomiłeś MediaWiki na Debianie z Apache2 i PHP 5 i masz problemy z łączeniem się z MySQL, np. dostajesz takie wiadomości w przeglądarce: (Nie można skontaktować się z serwerem bazy danych: brakuje funkcji MySQL, czy skompilowałeś PHP z opcją --with-mysqli?), spróbuj odkomentować extension=mysqli.so w pliku /etc/php5/apache2/php.ini.

Jeśli to nie działa, spróbuj następująco...

Sprawdź, czy moduł MySQL dla PHP jest zainstalowany:

dpkg --list | grep php-mysql

Jeśli potrzebujesz zainstalować moduł php5-mysql wpisz:

apt-get install php-mysql

Potem zrestartuj Apache2:

/etc/init.d/apache2 restart

'user_password' nie może mieć wartości domyślnej

Upewnij się, że MySQL nie jest w trybie rygorystycznym.

Brakujący prefiks tabeli

Jeśli używasz hostingu, nazwa bazy danych i nazwa użytkownika może mieć dodatkowy prefiks (zwykle identyfikator użytkownika podany przez hosting). Na przykład jeśli stworzyłeś bazę danych o nazwie db01 z nazwą użytkownika u01, a twój identyfikator użytkownika to ocom (podany przez hosting), powinieneś podać nazwę bazy danych i nazwę użytkownika odpowiednio jako ocom_db01 i ocom_u01.

Połączenie MySQL nie działa z błędem [2013] lub [2002]

Jeśli otrzymujesz błąd: nie powiodło się z błędem [2013] Stracono połączenie podczas zapytania. czy nie powiodło się z błędem [2002] Nie można się połączyć z lokalnym MySQL przez gniazdo '/var/lib/mysql/mysql.sock' (13)., to może być spowodowane błędną nazwą hosta bazy danych lub przez problem z uprawnieniami z plikiem, lub folderem mysql.soc.

Jeśli używasz hostingu, upewnij się, że używasz poprawnej nazwy hosta dla bazy danych.

Podręcznik MySQL ma trochę dobrych stron na temat zapobiegania częstym problemom (takich jak ten). Odwiedź stronę dla linków do dokumentacji dla innych wersji MySQLa.

Jeśli nie masz pewności, czy MySQL jest zainstalowany, spróbuj polecenie mysql z wiersza poleceń; jeśli nie jest zainstalowany, zobacz Podręcznik:Instalowanie MediaWiki#System-specific instructions.

Nie znaleziono użytecznych plików binarnych UNIX

W błędach jest:

  • Nie znaleziono GNU diff3
  • Nie znaleziono oprogramowania kontroli wersji Git
  • Nie znaleziono ImageMagick

PHP musi mieć dostęp do /usr/bin. W php.ini (prawdopodobnie w /etc/php/php.ini) dodaj :/usr/bin/ do zmiennej konfiguracyjnej open_basedir jak poniżej:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/var/www/:/usr/bin/

Aby wyłączyć Git, ustaw $wgGitBin na ścieżkę, która jest dozwolona, ale nie istnieje.

$wgGitBin = "";

"Zabronione: Nie masz uprawnień do dostępu /mediawiki/ na tym serwerze."

To jest zwykle problem z konfiguracją oprogramowania Twojego serwera Web, niezwiązane z samym MediaWiki. Zobacz przykład tutaj lub na innych forach serwera Web.

Za dużo przekierowań (ERR_TOO_MANY_REDIRECTS)

Kiedy zdarza się to na każdej stronie, jest to zwykle spowodowane niewłaściwą konfiguracją Manual:Short URL , zwykle z powodu błędu w regułie przekierowania.

Może to również nastąpić, gdy $wgForceHTTPS jest ustawiony na true, a MediaWiki nie wykrywa odpowiednio protokołu używanego przez klienta i nadal wysyła przekierowanie do https:. Może to się zdarzyć, gdy MediaWiki jest ustawione za odwrotnym proxy, które nie ustawia nagłówka HTTP X-Forwarded-Proto na https.

Błędy po aktualizacji

Brakuje pola rc_timestamp w tabeli recentchanges. Nie powinno się dziać.

Może się zdarzyć po aktualizacji z MediaWiki 1.27 do innej wersji. Jeśli nie ma treści w bazie danych, możesz zobaczyć tę wiadomość: Zobacz phab:T236671.

To może się zdarzyć, jeśli zdefiniowałeś inny $wgDBprefix niż Twoja oryginalna instalacja, co sprawia, że MediaWiki nie może znaleźć swoich tabel. Sprawdź istniejące tabele w bazie danych i zobacz, czy wszystkie mają wspólny prefiks, i zaktualizuj to, jak trzeba.

Innym powodem może być ustawienie pustej bazy danych. Zainstaluj ponownie treść bazy danych z kopii zapasowej i przejdź dalej z migracją.

"Can not upgrade from versions older than 1.31, please upgrade to that version or later first" (or variants)

Some upgrades cannot be performed without an intermediary upgrade. For instance, to upgrade from a wiki older than 1.33 to MW 1.39.1, you will need to upgrade to 1.35 first. See task phab:T326071.

This error message can also be a red herring. It may appear when you are trying to update an empty database, without tables. Create the database first by installing the wiki.

Parsoid / VisualEditor

Zobacz Parsoid/Troubleshooting i Extension:VisualEditor#Troubleshooting .

Przypisy

Zobacz też