Laden Sie .SQL-Dateien in das Wiki hoch

689
Matt

Änderungen an der Datenbank meines Teams werden in unserem internen Wiki aufgezeichnet. Derzeit werden zusätzlich zu einer kurzen Beschreibung die .sql-Skripts als Text hinzugefügt. Dies wird sperrig und macht das Lesen der Seite schwierig. Ich versuche, mediawiki so zu konfigurieren, dass .sql-Dateien hochgeladen werden können, sodass sie nur aus der Änderungsliste verlinkt werden können.

Ich habe 'sql' zum Array der akzeptierten Dateierweiterungen in hinzugefügt LocalSettings.php. Beim Versuch, ein SQL-Skript hochzuladen, erhalte ich die folgende Warnung:

Die Datei ist beschädigt oder hat eine falsche Erweiterung. Bitte überprüfen Sie die Datei und laden Sie sie erneut hoch.

Das Hochladen ist bereits konfiguriert und funktioniert für die zuvor ausgewählten Dateitypen. Ich habe mehrere Manualpages von MediaWiki gelesen, aber sie konnten mir nicht helfen, das Problem zu lösen. Ich habe festgestellt, dass einige Dateien möglicherweise in die weiße Liste aufgenommen werden müssen, aber .SQL war nicht in der $ wgFileBlacklist oder der $ wgMimeTypeBlacklist enthalten . Der Artikel zum Konfigurieren von Uploads im Handbuch besagt, dass dieser Fehler möglicherweise darauf zurückzuführen ist, dass die Erkennung des MIME-Typs nicht ordnungsgemäß funktioniert. Googeln hat auch keine relevanten Antworten ergeben.

Wie kann ich mein Mediawiki so konfigurieren, dass .SQL-Dateiuploads zulässig ist?

Womit ich arbeite:

  • MediaWiki 1.15.5-7
  • PHP 5.3.10-1ubuntu3.6 (apache2handler)
  • MySQL 5.5.29-0ubuntu0.12.04.2
1

1 Antwort auf die Frage

2
pietrodn

Sehen Sie sich zuerst diese Seite mit Ihrer spezifischen Fehlermeldung an. Das Problem scheint durch die Erkennung des MIME-Typs ausgelöst worden zu sein . Versuchen Sie es $wgVerifyMimeTypemit falseund stellen Sie fest, ob das Problem dadurch gelöst wird. Wenn dies der Fall ist, müssen Sie sich neu konfigurieren $wgMimeTypeBlacklist.

Wenn $wgStrictFileExtensionsauf true(und dies ist die Standardeinstellung) eingestellt sind, sind nur Dateien mit den aufgeführten Erweiterungen $wgFileExtensionszulässig (Whitelisting).

Einfach hinzufügen LocalSettings.php:

$wgFileExtensions[] = 'sql'; 

Wenn das nicht funktioniert, setzen Sie $wgStrictFileExtensionsauf false vorübergehend (dies können Sie Sicherheitsrisiken aussetzen).

Um alle Sicherheitsprüfungen für Dateien zu deaktivieren, setzen Sie $wgCheckFileExtensionsden Wert auf "false".