Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Locale Installation Online nutzen
#1
Ich weiß nicht ob der Titel das widerspiegelt was ich eigentlich poste aber ich hoffe es. ebenso das ich im Richtigen Forum bin.

Wer das MyBB 1.6 Local unter XAMPP z.B. Installiert zum Testen und Anpassen der kann, sofern er alles mit einmal hoch läd oder die Dateien immer hin und her schiebt und der Bequemlichkeit halber die /inc/config.php einfach mit einer Abfrage anpassen die Prüft ob das Forum gerade Local läuft oder online ist.

Dazu braucht es den Code:
PHP-Code:
// Die $REMOTE_ADDR in eine Var. Packen, für eventuell spätere Anpassungen - oder aus "Just-4-fun"
$ipadresse ="$REMOTE_ADDR";

// Auslesen ob es ein Localer aufruf ist oder nicht
$REMOTE_ADDR $_SERVER['REMOTE_ADDR'];
if (
$REMOTE_ADDR=='127.0.0.1')
{

// Locale Config
$config['database']['type'] = 'Datenbanktyp - Offline';
$config['database']['database'] = 'Datenbankname - Offline';
$config['database']['table_prefix'] = 'Präfix - Offline';

$config['database']['hostname'] = 'Datenbank-Hostname - Offline';
$config['database']['username'] = 'Dein Datenbank Benutername - Offline';
$config['database']['password'] = 'Dein Datenbank passwort - Offline';
}
else
{
// Online Config
$config['database']['type'] = 'Datenbanktyp - Online';
$config['database']['database'] = 'Datenbankname - Online';
$config['database']['table_prefix'] = 'Präfix - Online';

$config['database']['hostname'] = 'Datenbank-Hostname - Online';
$config['database']['username'] = 'Dein Datenbank Benutername - Online';
$config['database']['password'] = 'Dein Datenbank passwort - Online';



Ich persönlich finde es praktisch wenn ich viele Files im Editor habe und bearbeite und dann ( wenn man z.B. schnell rauchen ist, oder in der Küche ect. ) alles mit einmal hochladen will ohne darauf zu achten das die config nicht dabei ist.


Ist kein großes "Script" ist auch kein wirklich sinnvolles "Script" aber es ist ein kleiner Beitrag. Später werden sicherlich auch andere wirkliche Modifikationen folgen aber so lernt man den Code auch kennen =)

LG
Zitieren
#2
Lass den auf $_SERVER['HTTP_HOST'] checken, ist besser als Remote Adresse (z.B. bei VPN's o.ä.)
Zitieren
#3
Jetzt muss ich es hier weiter Bearbeiten.

Ich habe ganz vergessen, das die inc/settings.php
ebenfalls angepasst werden muss.

Dazu gehst du in den Ordner "inc" und suchst die file "settings.php" - Bei Originalcode - steht in folgenden zu bearbeitenden Zeilen das:

( Nur ein Beispiel und kann variieren )
Zeile 38
PHP-Code:
$settings['bburl'] = "http://Deine-Webseiten-URL.de/MyBB"

( Nur ein Beispiel und kann variieren )
Zeile 47
PHP-Code:
$settings['cookiedomain'] = ".Deine-Webseiten-URL.de"

( Nur ein Beispiel und kann variieren )
Zeile 48
PHP-Code:
$settings['cookiepath'] = "/MyBB/"

( Nur ein Beispiel und kann variieren )
Zeile 85
PHP-Code:
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB"


Du kannst jetzt entweder diese Codezeilen nehmen und zu einem Block zusammenfügen ( für die Übersicht ) zu diesem Format:

PHP-Code:
$settings['bburl'] = "http://Deine-Webseiten-URL.de/MyBB";
$settings['cookiedomain'] = ".Deine-Webseiten-URL.de";
$settings['cookiepath'] = "/MyBB/";
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB" 

Wenn du das So gemacht hast nimmst du den Code den DU auch schon in der config.php benutzt hast und setzt das in eine Abfrage was dann so aussieht:

PHP-Code:
$REMOTE_ADDR $_SERVER['REMOTE_ADDR'];
if (
$REMOTE_ADDR=='127.0.0.1')
{
// Locale Config
$settings['bburl'] = "http://Deine-Webseiten-URL.de/MyBB";
$settings['cookiedomain'] = ".Deine-Webseiten-URL.de";
$settings['cookiepath'] = "/MyBB/";
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB"
}
else
{
// Online Config
{
$settings['bburl'] = "http://Deine-Webseiten-URL.de/MyBB";
$settings['cookiedomain'] = ".Deine-Webseiten-URL.de";
$settings['cookiepath'] = "/MyBB/";
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB"


in den Bereich
PHP-Code:
// Locale Config 
Kommen deine Daten rein die bei einer Lokalen Installation vorgegeben sind und bei
PHP-Code:
// Online Config 
die Daten einer Online Konfiguration.

Was dann in etwa so aussehen könnte:
PHP-Code:
$REMOTE_ADDR $_SERVER['REMOTE_ADDR'];
if (
$REMOTE_ADDR=='127.0.0.1')
{
// Locale Config
$settings['bburl'] = "http://Deine-Webseiten-URL.de/MyBB";
$settings['cookiedomain'] = ".Deine-Webseiten-URL.de";
$settings['cookiepath'] = "/MyBB/";
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB"
}
else
{
// Online Config
{
$settings['bburl'] = "http://localhost/MyBB";
$settings['cookiedomain'] = ""// Dies muss bei einer Lokalen Installation Leer bleiben !
$settings['cookiepath'] = "/MyBB/";
$settings['homeurl'] = "localhost/MyBB"


Wenn Du die Codes so stehen lassen wie sie sind dann sieht dein Code in jeder der zu bearbeitenden Zeilen so aus:

PHP-Code:
//Anfang

// Auslesen ob es ein Localer aufruf ist oder nicht
$REMOTE_ADDR $_SERVER['REMOTE_ADDR'];
if (
$REMOTE_ADDR=='127.0.0.1')
{
// Locale Config
$settings['homeurl'] = "localhost/MyBB";
}
else
{
// Online Config
$settings['homeurl'] = "Deine-Webseiten-URL.de/MyBB";
}
// Ende 

Ich hoffe, es hilft und ist jetzt Komplett .


Achso und ja, es wird sicherlich auch unkompliziertere Lösungen geben ( Plugins, anderer Code ect. )

Aber das ist das was mir gerade eingefallen ist.


LG




///////////

Danke thebod

(12.01.2011, 09:49)thebod schrieb: Lass den auf $_SERVER['HTTP_HOST'] checken, ist besser als Remote Adresse (z.B. bei VPN's o.ä.)

Da ich den ersten Beitrag nicht mehr bearbeiten kann schreibe ich es hier:

Wer das Script benutzen möchte, also "script" der sollte darauf achten das dies nur für XAMPP geeignet ist.

Im besten Fall lasst ihr auf die $_SERVER['HTTP_HOST'] prüfen.

Das sollte dann so funktionieren:

PHP-Code:
if($_SERVER['HTTP_REFERER'] == '127.0.0.1'
{
// Locale config

else 
{
// Online config


Wenn ich was falsch gemacht habe oder Fehler drinnen sind bin ich gern für Kritik offen.



LG
Zitieren
#4
Den referer würde ich nicht dafür benutzen, den kannst du manipulieren und er ist gar nicht immer gesetzt.
Zudem wird die settings.php bei jeder Änderung neu geschrieben, deine Veränderungen sind dann weg.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
(12.01.2011, 10:07)StefanT schrieb: Den referer würde ich nicht dafür benutzen, den kannst du manipulieren und er ist gar nicht immer gesetzt.
Zudem wird die settings.php bei jeder Änderung neu geschrieben, deine Veränderungen sind dann weg.

Wenn die immer geändert wird, dann muss das ja von irgendwo kommen oder ?

Wo finde ich dann die Funktion das die Änderungen sich nicht darauf beziehen ? Bze. dann könnte man das doch in eine Funktion packen inc/loka-online.php

die die config.php und settings.php nach den Ausgangswerten überprüft und dann ersetzt oder ?

Dann wären zwar nach jeder Änderung die Inhalte weg würde sich aber wieder einsetzen oder ?

Da die beiden files ja z.B. bei der Verarbeitung eingebunden werden wäre es ja möglich das gleich bei der Verarbeitung zu tun oder ?


Das müsste doch dann so gehen oder ?

PHP-Code:
$content file_get_contents('settings.php');
    function 
ersetzen($treffer)
    {       
    } 
Zitieren
#6
Die Datei wird aber nicht geändert sondern immer komplett neu generiert...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
mh, das is doof - Vorschläge ?

von wo wird die denn generiert ? bzw wieso updatet er das nicht ? :/

Nagut das is ja jetzt doof das würde das Thema völlig unnütz machen.
Zitieren
#8
Das wird mit der Funktion rebuild_settings gemacht.
Warum sollte man die Datei kompliziert analysieren und aktualisieren, wenn man es ganz leicht neu generieren kann?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
mach dir nen Symlink auf die Files und kopier nur den Rest, also nicht die config und settings-Files Wink
Zitieren