PmWikiDe /
Die Pfad-Variablen
Administratoren
Wenn man zu tun hat mit Datei- oder Pfadvariablen, muss man im Blick haben, dass es einen Unterschied macht, ob man von Urls redet oder von Dateien auf der Festplatte. Zum Beispiel:
- Die include()-Anweisungen werden benutzt, um andere Dateien (auf der Platte) in das aktuell laufende PmWiki-Skript einzufügen (aus PHP-Sicht). Deshalb erfordern sie Pfade auf des Servers Dateisystem.
- Die
$ScriptUrl
- und$PubDirUrl
-Variablen braucht man, um einem Browser, der via Webserver verbunden ist, mitzuteilen, wo das Verzeichnis für Skripten ($ScriptUrl
) und das öffentlich zugängliche Verzeichnis ($PubDirUrl
) liegen, von wo der Browser z. B. Bilder holen könnte.
Beachten Sie, dass ein Browser eine Url (https://example.com/pmwiki/pub) braucht, wohingegen eine Include-Anweisung einen Serverdateipfad braucht ($FarmD
/scripts/something.php).
$FarmD
- ist das Verzeichnis auf dem Server, wo die Wikifarm liegt (d. h. das Verzeichnis, in dem die Kopie von
pmwiki.php
und dasscripts/
-Verzeichnis dieser Wikifarm liegen). Dies Verzeichnis wird automatisch vonpmwiki.php
ermittelt, wenn das Skript läuft, und kann benutzt werden, um diecookbook/
- undpub/
-Unterverzeichnisse der Farm von den Unterverzeichnissen eines Feldes zu unterscheiden.
Wenn mehrere Wikis auf einem Server gehostet werden, spricht man von einer Farm. Jedes einzelne Wiki wird (hier) als ein Feld bezeichnet. Die index.php-Dateien der Wikis liegen in eigenen Verzeichnissen, pmwiki.php und die Skipten im scripts-Verzeichnis werden aber gemeinsam benutzt (siehe Wikifarmen). Bei Einzelinstallationen weist
$FarmD
auf das Installationsverzeichnis.
$UrlScheme
- enthält entweder "http" oder "https", das aktuell benutzte Protokoll für den Zugriff auf das Wiki.
$FarmPubDirUrl
- verweist auf das gemeinsame
pub
-Verzeichnis der gesamten Wikifarm. Im Standard ist es die gleiche Url wie$PubDirUrl
(Einzelinstallation). $PageCSSListFmt
- ist ein assoziatives Array, das PmWiki benutzt, um jegliche locale CSS-Konfigurationsdatei zu finden. Es besteht aus einem Satz von (Schlüssel,Wert)-Paaren, die beide auf die gleiche Datei zeigen. Der Schlüssel ist ein möglicher Pfad zu einer Datei auf der Festplatte, die die CSS-Daten enthält, während der Wert eine korrespondierende Url ist, die zu genau der gleichen Datei führt. Die Schlüssel werden der Reihe nach getestet, und für jede benannte Datei, die wirklich existiert, wird der Browser angewiesen, die korrespondierende Url zu laden. Das erlaubt PmWiki, die CSS-Dateien nur dann aufzurufen, wenn sie auch wirklich existieren (Why see if a CSS exists?). Der Standardwert für diese Variable ist:
$PageCSSListFmt = array( 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/{$Group}.css' => '$PubDirUrl/css/{$Group}.css', 'pub/css/{$FullName}.css' => '$PubDirUrl/css/{$FullName}.css');
Beachten Sie, dass der Standard (ab Version pmwiki-2.1.beta26) keinen Verweis auf
$FarmPubDirUrl
für CSS-Konfigurationsdateien setzt. Wenn Sie gern die Möglichkeit hätten, CSS-Konfigurationsdateien in beiden, dem pub
-Verzeichnis des Feldes und dem pub
-Verzeichnis der Farm zu plazieren, könnten Sie diese Zeilen in Ihrer local/config.php
-Datei unterbringen (beschrieben in Cookbook:SharedPages):
# das fügt farm.css zu allen Wikis hinzu
$PageCSSListFmt = array( '$FarmD/pub/css/farm.css' => '$FarmPubDirUrl/css/farm.css', 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css', 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css');
# dies ermöglicht Farm-CSS-Dateien in ähnlicher Weise in einem lokalen Wiki
$PageCSSListFmt = array( '$FarmD/pub/css/local.css' => '$FarmPubDirUrl/css/local.css', '$FarmD/pub/css/$Group.css' => '$FarmPubDirUrl/css/$Group.css', '$FarmD/pub/css/$FullName.css' => '$FarmPubDirUrl/css/$FullName.css', 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css', 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css');
Beachten Sie den Unterschied zwischen CSS-Konfigurations-Dateien und den CSS-Dateien in Verbindung mit einem Skin. Skin-Dateien, einschließlich der zugehörigen CSS-Dateien, können sowohl im
pub
-Verzeichnis der Farm als auch in dem des Feldes liegen, das Programm wird sie finden.
$PubDirUrl
- ist die Url, die auf das
pub
-Verzeichnis verweist. Dieses Verzeichnis enthält alle die Dateien und Verzeichnisse, die direkt von einem Browser erreichbar sein müssen (d. h. CSS-, Grafik- und HTML-Dateien). Am hervorstechendsten ist hierbei dasskins
-Unterverzeichnis.
Das folgende mag für Sie funktionieren[1]
$ScriptUrl = 'https://'.$_SERVER['HTTP_HOST'].'/pmwiki/pmwiki.php'; $PubDirUrl = 'https://'.$_SERVER['HTTP_HOST'].'/pmwiki/pub';
https://shinkim.net/pmwiki.php
$ScriptUrl
- ist die Url, die die Browser der Besucher benutzen sollen, wenn sie auf PmWiki zugreifen, entweder als Feld oder als Farm. Dort liegt pmwiki.php. Diese Url wird immer dann benutzt, wenn PmWiki einen Link zu einer anderen Seite oder einer 'action' setzen muss. PmWiki ist gewöhnlich ziemlich gut darin, den korrekten Wert für
$ScriptUrl
selbst "herauszufinden", aber manchmal muss ein Administrator den Wert ausdrücklich setzen wegen Url-Manipultionen des Webservers (wie Cookbook:CleanUrls, mod_rewrite, bizarre PHP-Konfigurationen, und so weiter). $SkinDir
- wird gesetzt in der scripts/skins.php-Datei als Basis-Verzeichnis des aktuellen Skins. Diese Variable wird typischerweise innerhalb einer
skin.tmpl
-Datei benutzt, um den Zugriff auf CSS- oder Grafikdateien bereitzustellen, die mit dem Skin verbunden sind. $SkinDirUrl
- wird gesetzt in der scripts/skins.php-Datei als Basis-Url des aktuellen Skin-Verzeichnisses (d. h. innerhalb des '
pub/skins/
'-Verzeichnisses). Diese Variable wird typischerweise innerhalb einerskin.tmpl
-Datei benutzt, um den Zugriff auf Sekundär-Dateien zu ermöglichen. Siehe Anmerkung zur Sicherheit bezüglich der Nutzung. $WorkDir
- Diese Variable enthält einen String, der einen lokalen Pfad zu einem Verzeichnis angibt, in dem die PmWiki-Maschine temporäre Dateien etc. anlegen kann. PmWiki braucht das für eine Vielzahl von Dingen, etwa zum Zusammenbauen von verschachtelten Edits, zum Zwischenspeichern von Mailpost-Eintragungen, zum Im-Auge-behalten der letzten Modifikationszeiten der Site, für andere Arten von Zwischenspeichern, etc. Verwechseln Sie diese Variable nicht mit
$WikiDir
; der Grund, warum standardmäßig beide Variablen$WorkDir
und$WikiDir
auf das gleiche Verzeichniswiki.d/
verweisen, ist schlicht, um die Dinge für Administratoren möglichst einfach zu halten. $WikiDir
-
$WikiDir
ist ein SeitenSpeicher-Objekt, das darauf verweist, wie Seiten gespeichert werden. Das kann ein einfacher Verweis auf ein Verzeichnis sein (typischerweisewiki.d
), oder etwas hoch entwickeltes wie ein MySQL-Backend oder eine .dbm-Datei. Verwechseln Sie diese Variable nicht mit$WorkDir
; der Grund, warum standardmäßig beide Variablen$WorkDir
und$WikiDir
auf das gleiche Verzeichniswiki.d/
verweisen, ist schlicht, um die Dinge für Administratoren möglichst einfach zu halten. - Um die Dateien von Gruppen in getrennten, gruppenspezifischen Verzeichnissen zu speichern, fügen Sie am Anfang Ihrer Konfigurationsdatei
- ->
$WikiDir = new PageStore('wiki.d/$Group/$FullName');
- ein. [2]
$WikiLibDirs
$WikiLibDirs
ist ein Array von SeitenSpeicher-Objekten, die angeben, wo nach Seiten gesucht werden soll. Standardmäßig ist es so eingerichtet, dass inwiki.d
undwikilib.d
nachgesehen wird, aber es kann so verändert werden, dass in anderen Verzeichnissen nachgesehen wird.- Um zum Beispiel die Seiten auszuschließen, die in der PmWiki-Distribution mitgeliefert werden, benutzen Sie die Zeile unten. (Beachten Sie, dass einige Funktionen wie Bearbeiten und Suchen auf gewisse Seiten angewiesen sind, deshalb müssten Sie sie in das
$WikiDir
-Verzeichnis kopieren.)$WikiLibDirs = array(&$WikiDir);
- Ein weiteres Beispiel
## benutze für jeden Seitennamen ## - die Version in wiki.d, wenn die Seite dort existert, ## - die Version in wikilib2.d, wenn es keine wiki.d-Version gibt oder ## - die Version in wikilib.d, wenn keine der beiden Dateien oben existieren $WikiLibDirs = array(&$WikiDir, new PageStore('wikilib2.d/{$FullName}'), new PageStore('$FarmD/wikilib.d/{$FullName}'));
- Siehe auch CustomPageStore.
$LocalDir
- ist des Dateisystems Ort für das
local/
-Verzeichnis, das Dateien zur lokalen Anpassung und zu Individuelle Einstellungen pro Gruppe enthält. Die Variable wird typischerweise in einer WikiFarmsfarmconfig.php
-Datei gesetzt. (Beachten Sie, dass die Farmkonfigurationsdateien immer in
erscheinen, unabhängig davon, wie$FarmD
/local/farmconfig.php$LocalDir
gesetzt wird.)
Siehe auch
- Die Layout-Variablen - Beschreibung der Variablen, die das Layout betreffen.
- Die Link-Variablen - Diese Variablen kontrollieren das Aussehen von Verweisen in den Seiten.
- Die Bearbeiten-Variablen - Beschreibung der Variablen, die das Bearbeiten beinflussen.
- Variablen für das Hochladen - Variablen für das Hochladen
Übersetzung von PmWiki.PathVariables, Originalseite auf PmWikiDe.PathVariables — Backlinks
Zuletzt geändert: | PmWikiDe.PathVariables | am 16.12.2023 |
PmWiki.PathVariables | am 16.12.2023 |