Update

Update phpwcms (nach V1.5.x)

Forum: Update phpwcms

(Stand 09.03.12)

Download: - Neueste Version
Download: - Neueste Version
Download: - Nightly Build

Änderungen: phpwcms Changelog

Docu: - Docu: Installation & Update




Nicht erfahrenen Anwendern empfehle ich eine parallele Installation. (Dies hat auch den Vorteil, dass ganz in Ruhe z.B. ein neues Design aufgebaut oder Änderungen/Neuerungen eingepflegt werden können, da die alte Seite unberührt bleibt).

01. In ein Unterverzeichnis installieren

Die neueste Version installieren.


01.a Die installierte Version bestimmen

In älteren Versionen FIXME (bis zu welcher?) gibt es einen Eintrag in der Datei include/inc_lib/default.inc.php am Ende der Datei:

$phpwcms["version"] = Version No.

In neueren Versionen (ab. ca. 1.3.5) FIXME (ab wann genau?) steht der Eintrag in der Datei include/inc_lib/default.inc.php etwa ab Zeile 135:

$phpwcms["release"] = Release No.
$phpwcms["release_date"] = Release date

In der Folge verlagert sich die Angabe immer weiter nach hinten. Ab Versione 1.4.3 r371 wird auch der Revisionseintrag mitgeführt. Bis r420 steht dieser Eintrag in der Datei include/inc_lib/default.inc.php ab Zeile 245:

$phpwcms["release"] = Release No.
$phpwcms["release_date"] = Release date
$phpwcms["revision"] = Revision

Seit Version 1.4.7 (r421) steht dieser Eintrag in der Datei include/inc_lib/revision/revision.php:

define('PHPWCMS_VERSION',	'Release No.');
define('PHPWCMS_RELEASE_DATE',	'Release date');
define('PHPWCMS_REVISION',	'Revision');


02. Die vorhandene DB sichern

und in eine zweite DB kopieren.
(phpMyAdmin → http://de.wikipedia.org/wiki/PhpMyAdmin).

- Vor dem Exportieren sollten die Inhalte folgender Tabellen geleert werden um die DB Größe zu reduzieren:

  • 1. phpwcms_bad_behavior leeren
  • 2. phpwcms_cache leeren
  • 3. phpwcms_formtracking leeren wenn vorhanden (Links die Tabelle phpwcms_bad_behavior auswählen → Oben Ansicht auswählen → unten alle auswählen → ausgewählte löschen. (Je nach Anzahl der Darstellungsseiten mehrfach ausführen (Das Gleiche für phpwcms_cache, phpwcms_formtracking).
  • 4. phpwcms_log_seo leeren wenn vorhanden (Leeren siehe oben).
  • 5. Tabellen auf Fehler prüfen und wenn notwendig optimieren/reparieren.

- Die neueren phpMyAdmin exportieren grundsätzlich im UTF-8 Format.

- Die neue DB wird angelegt, mit der entsprechenden collation für die MySQL Verbindung zu phpMyAdmin. (Bei älteren DB ist das zu 99% swedish_latin1_ci)

- In die neue DB wird nun die exportierte mit der default Zeichencodierung UTF-8 importiert. Solltest du ein ISO Charset verwenden, kann es notwendig sein, vor dem Import das SQL-File nach ISO zu konvertieren. Das geht ganz gut mit dem unten angesprochenen Editor.

- SQL-Textfile in den Editor laden, unter “Format” ISO8859-2 auswählen und mit einem neuen Namen abspeichern. Die Datei liegt nun ISO kodiert vor. <note important>Aber bitte vorher einen einfachen Export/Import mit identischen Einstellungen (Zeichencodierung) probieren!</note>.

03. Die vorhandene conf.inc.php in die neue Installation kopieren

Die vorhandene conf.inc.php in die neue Installation kopieren und mit der dort vorhandenen dist.conf.inc.php abgleichen. Hier wird natürlich auch die neue DB eingetragen mit collation und charset und das Unterverzeichnis in dem das neue System gerade läuft.

→ Besser wäre es wenn du speziell dazu eine Subdomain einrichten würdest anstatt die Installation mit einem Unterverzeichnisnamen anzusprechen.

04. Datei- und Verzeichnisrechte

wie in der Docu angegeben setzen. → Siehe auch: Unpack/Upload phpwcms

05. Setup aufrufen -> Update

PHP- und DB version

- Unter MeineDomain/setup/setup.php wird ausgegeben, welche “2. PHP version:”- und welche “3. MySQL version:” auf dem Server installiert sind. Die PHP version sollte mindestens 5 sein, die MySQL version ebenfalls.
Die MySQL version muss noch in die Datei conf.inc.php eingetragen werden.

Wenn im Setup z.B. angezeigt wird:
3. MySQL version: 5.0.51a

dann wird in der Datei conf.inc.php folgendes eingetragen:

$phpwcms['db_version']        = 50510;


<note important> Seit der V1.4.5 r401 brauchen wir kein manuelles Datenbankupdate mehr.

–> Weiter mit Punkt 05.1 Doppelte Indizes in einigen DB-Tabellen </note>

- Je nach Versionsstand, die ersten Punkte ab “1) UPGRADE …” beachten und ausführen.

<note important> Alle DB-Updates müssen in der richtigen Reihenfolge verarbeitet werden !!!
Die führende Nummerierung ist maßgebend, nicht irritieren lassen durch die Angaben …_X.Y_to_X.Z.sql. </note>

- DB Updates nacheinander laufen lassen und auf Fehler achten: (Immer das gesamte Ausgabefeld bis nach unten rollen!!!)
Hierbei ist natürlich der Einstiegspunkt zu beachten, ist das z.B. die Version 1.2.8 beginnt das Update mit - 15 _1.2.7-DEV_to_1.2.9.sql).

- 13__1.2.5-DEV_to_1.2.6-DEV.sql (Ab V1.2.5)
- 14__1.2.6-DEV_to_1.2.7-DEV.sql
- 15__1.2.7-DEV_to_1.2.9.sql
- 16__1.2.9-DEV_to_1.3.0.sql
- 17__1.3.0_to_1.3.2.sql
- 18__1.3.2_to_1.3.3.sql

- 19__1.3.3_to_1.3.4.sql         (Ab V1.3.3)
- 19__1.3.4_to_1.3.5.sql
- 20__1.3.5_to_1.3.5.1.sql
- 21__1.3.5_to_1.5.sql
- 22__1.4_to_1.5.sql             (Ab V1.4.x)

→ Beim letzten Update wird es wahrscheinlich zu Fehlern kommen:

- Fehler: Die Tabelle phpwcms_categories existiert nicht → ignorieren, da ein Shopupdate, doch der Shop existiert bei dir noch nicht
- Fehler: Die Tabelle phpwcms_log existiert schon → ignorieren, da diese Tabelle in der neuen Form noch nicht verwendet wird

05.1 Doppelte Indizes in einigen DB-Tabellen

- Es kann passieren, das in den Tabellen doppelte Indexe vorhanden sind.

→ phpMyAdmin aufrufen
→ DB auswählen
→ Tabelle auswählen
→ nach unten rollen zu den Indexen (Dort kannst du alle Indexe löschen die ein “_1 _2 _3 usw.” am Ende haben. (phpMyAdmin sollte dich beim Aufruf der Tabelle auch darauf hinweisen, dass doppelte Indexe vorhanden sind)
Alle Tabellen durchsehen.

06. Wenn der Shop nicht gebraucht wird

dann lösche bitte den komplette Pfad /include/inc_module/mod_shop/

07. Inhalt der Ordner kopieren

Den Inhalt des Ordners /filearchive/ (phpwcms_filestorage) der alten Version in den Ordner /filearchive/ der neuen Version kopieren (Das Gleiche mit Daten unter /picture/ wenn verwendet)

- Geänderte Verzeichnisnamen

Alt Neu
phpwcms_filestorage → filearchive
phpwcms_ftp → upload
phpwcms_template → template

08. Steuerdatei abgleichen

Die vorhandene Datei /config/phpwcms/conf.template_default.inc.php der alten Version mit der neuen abgleichen.

09. Zusatz bei Namensänderung von Home

Wenn du Home anders bezeichnet hast, dann bitte auch die Datei /config/phpwcms/conf.indexpage.inc.php abgleichen.

10. CSS-Dateien abgleichen

Die vorhandenen veränderten CSS-Datei unter /template/inc_css/ aus der alten Version abgleichen mit den entsprechenden neuen CSS-Dateien.

11. Template Dateien abgleichen

Die vorhandenen veränderten Template-Dateien /template/inc_cntpart/ aus der alten Version abgleichen mit den entsprechenden neuen Dateien <note tip>Wenn ich von abgleichen spreche, meine ich immer dass die neuen Dateien mit Einträgen aus den alten ergänzt werden</note>

12. Wenn die Dateiendung umgeschrieben wird (*.phtml)

Ab der Version V1.5 r428 wird in der conf.inc.php bestimmt, welche Endung das CMS für die Dateien verwenden soll (http://example.com/DieSeite.phtml).

Das gilt nur wenn

$phpwcms['rewrite_url']       = 1;        //whether URL should be rewritable

gesetzt ist.

Die Voreinstellung

$phpwcms['rewrite_ext']	  	  = '.html'; // The file extension used while URL is rewritten

muss dann geändert werden nach

$phpwcms['rewrite_ext']	  	  = '.phtml'; // The file extension used while URL is rewritten

Dazu in der .htaccess

	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.phtml$ index.php?id=$1,$2,$3,$4,$5,$6
	RewriteRule ^(.+)\.phtml$ index.php?$1

bzw. bei Installation in einem Unterverzeichnis

	RewriteRule ^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.phtml$ /mysubdir/index.php?id=$1,$2,$3,$4,$5,$6
	RewriteRule ^(.+)\.phtml$ /mysubdir/index.php?$1 

Wird folgende Einstellung in der conf.inc.php verwendet und der alte FCK Editor benutzt:

$phpwcms['rewrite_ext']	  	  = '.html'; // The file extension used while URL is rewritten

müssen in der .htaccess einige Verzeichnisse ausgeschlossen werden:

# Ignore
   RewriteRule ^(include|img|template|picture|filearchive|content)/ - [L]

Siehe auch im Forum: Rewrite


13. Login

Browsercache löschen → Backendlogin aufrufen, nicht die Seite aufrufen

(Denn wenn du Google- oder Trackerzeugs installiert hast sollte das vor dem ersten Seitenaufruf in dieser Entwicklungsinstallation deaktiviert sein (Wird später wieder nach Fertigstellung der Seite aktiviert)).

14. Trackingcode deaktivieren

In der vorhandenen Vorlage den Trackingcode deaktivieren

15. Module installieren

Bei älteren Version kann es vorkommen, dass die DB für einige Module noch nicht installiert ist, da diese zum Erscheinungszeitpunkt noch nicht existierten.
Jedes Modul sollte einmal unter Module aufgerufen werden, um das Setup zu starten.

15.1 Module Setup löschen

<note important>Danach muss das Verzeichnis /include/inc_module/mod_Modulname/setup/ gelöscht werden!</note> Erst jetzt kann das Modul verwendet werden.

16. Verzeichnis Setup löschen

Wenn das Backend funktioniert, dann bitte das Verzeichnis /setup/ löschen oder in eine sinnlose Zeichenfolge umbenennen.

17. Weiter geht es

<note tip> Das System sollte nun laufen. Beim Neuaufbau der Bilder kann es zu einem Quasistillstand des Systems kommen, nicht erschrecken.
Mehrfach nacheinander die Dateizentrale aufrufen, wenn die z.B. eine timeout Meldung kommt </note> (Du kannst natürlich auch den Inhalt des Ordner /content/images/ aus dem alten System kopieren, ist im Normalfall aber nicht notwendig, da das System den Index der Thumbs/verkleinerten Bilder/Dateien neue aufbaut).


Es sind natürlich noch einige Anpassungen zu bewerkstelligen wie z.B. die <META …> Tags XHTM fest zu machen: <meta …. /> usw. Ist aber Kleinkram und hat mit dem Update grundsätzlich nichts zu tun.

Die Vorgehensweise nach diesem Schema hat den Vorteil, das die alte Seite unberührt bleibt und du mit dem neuen System z.B. das Layout oder andere Neuerungen in aller Ruhe entwickeln kannst.
Nach Beendigung der Arbeiten kann das alte System gelöscht werden und die neue Version wird an diese Stelle geschoben bzw. die Domain darauf verbogen.

<note tip> Der Updatestress wird zum Großteil durch einen unbedachten Umgang mit den css und Templatedateien verursacht </note> Grundsatz 1: Immer eigene Namen für CSS- und Templatedateien verwenden die in Gebrauch sind, so werden diese von einem Update nicht berührt.

Grundsatz 2: Wenn möglich sollten für das Basissystem, das Layout und die Navi separate CSS Dateien verwendet werden. z.B. frontend01.css, layout01.css, navi01.css


Zum Abgleich bzw. für das Editieren aller Dateien kann z.B. der Editor pspad und dessen FTP-Modus. (Direkter Zugriff aus dem Editor heraus) verwendet werden.

Dieser Editor ist zusammen mit dem TotalCommander (kostenfrei für nichtgewerbliche Seiten) wirklich brauchbar. Alternativ zum TotalCommander kann auch z.B. http://www.filezilla.de/ verwendet werden. (Ist im FTP Bereich klar überlegen).


Anregung: Ein DIFF erstellen mit dem TotalCommander

<note tip> Mit heidisql kann man problemlos auch größere Datenbanken importieren (eben gerade mit einer 8MB großen DB gemacht - hat wunderbar geklappt! </note>

deutsch/installation/update.txt · Last modified: 2018/06/03 18:09 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0