Ordner Copy_this und updateApp in den Shop CE 4.7.9 (saubere installation mit Beispieldaten) hochgeladen
Aufruf der /updateApp/
Seite “Enter Theme” erscheint, aber egal was man auswählt, beim zweiten Klick erscheint die Fehlermeldung:
Error accessing templates at: /home/kunden/webs/XXX/www.oxid.XXX.de/vhosts/application/views/azure/tpl using map: /home/kunden/webs/signbrem/www.oxid.XXX.de/vhosts/application/views/azure/en/map.php.
Im Apache error-log erscheint:
[Thu Oct 31 12:31:05 2013] [error] [client X:X:X:X] FastCGI: server "/var/www/php-fpm/XXX/oxid.XXX.de/fpm.external" stderr: PHP message: PHP Warning: array_merge(): Argument #1 is not an array in /home/kunden/webs/signbrem/www.oxid.XXX.de/vhosts/updateApp/updates/php/4.8.0.php on line 632, referer: http://www.oxid.signs.de/updateApp/
Webserver: Apache/2.2.16 (Debian)
PHP-Version: 5.3.27-1~dotdeb.0
MySQL Server Version: 5.5.31-1~dotdeb.0
verwendet wurde das Paket:
UPDATE_OXID_ESHOP_CE_V.4.7.9_TO_V.4.8.0
bei mir erschien beim Versuch von 4.7.8 auf 4.8.0 derselbe Fehler.
Nach Anpassung der 4.8.0.php funktionierte das Update bei mir jedoch einwandfrei.
Ich habe die im error log angegebenen Zeilen 629 und 632 folgendermaßen angepasst.
@philpav:
Nice und schon per Google zu finden, thx!
Hatte vorhin eine ähnliche Idee mit einem weiteren “if ( $aGlob = glob(…) )” vorweg, aber so ist es am einfachsten und reicht als Hotfix. Übrigens braucht es das erste (array) nicht, sondern nur vor dem glob(), da $aTemplates ja schon als array deklariert wird.
Nur leider stimmt da imho auch etwas gewaltig nicht mit der 4.8.0.sql! Und zwar semmelt die mir ALLE charset/collation-Angaben weg beim Update, was ja nicht im Sinne des Erfinders sein kann (zumindest sind die Angaben in der database.sql aus dem full-setup noch drin). Das bringt zum einen Fehler im Admin unter Systemgesundheit (“Es werden unterschiedliche Kollationen für die ID-Felder verwendet”), ist aber generell doch einfach falsch, oder? So möchte ich jedenfalls keinen Live-Shop updaten, da die Struktur dann kaum noch vergleichbar ist. Was also tun? Es ist ja ein ganz schöner Aufriss, die 4.8.0.sql manuell anzupassen… :eek:
Danke für den Report und sorry, das ich die beiden Themen mischte, aber ich fand, das gehört zusammen.
Kurze Ergänzung zum SQL-Fix, da im Bugreport Zweifel aufkamen:
Das läuft auch mit UTF-8 und wurde damit entwickelt und getestet. Es ging ja nur um die IDs, die eben kein UTF-8 brauchen, und die Tabellen selbst haben ja UTF-8 als Collation.
Weiterhin waren die neuen Kommentare in einigen Tabellen zu kurz, siehe ganz am Ende (schräger bug).
Einige “oxtitle” u.ä. sind auch drin, da die bei mir noch einen alten Stand (char) hatten, und der Fix sollte eben bewirken, dass ich nach dem 4.8-Update eine absolut identische Struktur wie bei einer Neuinstallation habe. Keine Ahnung, wann genau diese chars zu varchars gemacht wurden, habs auf die Schnelle nicht gefunden. Stört aber auch nicht, da es ja so korrekt ist (und keine Collation ändert).
Aber im Prinzip sollte der hotfix eh fast obsolet sein, da es ja bereits ein Update des Updates gab! Nur verstehe ich den PHP-Part bisher nicht, da er ja nix am eigentlichen Fehler ändert: der glob() könnte immer noch false sein!
Und im SQL-Part sind die Tabellen-Kommentare immer noch abgeschnitten nach 60 Zeichen…
Das soll nicht kleinlich klingen, sondern wieder sinnvolle Struktur-Diffs ermöglichen, wenn man es braucht. Da bin ich bestimmt nicht allein?
kannst du das mit den Tabellen-Kommentaren bitte auch noch als (separaten ;)) Bug eintragen?
An der Sache mit den Pfaden sind wir dran: https://bugs.oxid-esales.com/view.php?id=5492
Es gab zuerst leider ein Missverständnis bezüglich des Fehlerbildes, sodass etwas behoben wurde, was mit dem ursprünglich bemängelten Verhalten wohl nichts zu tun hat. Deshalb sind Hinweise, Notizen, Anmerkungen etc., wie man das Verhalten provozieren, reproduzieren, analysieren, erklären kann in solchen und anderen Fällen immer herzlich willkommen!
(Hmm, gerade nochmal gelesen. Ich muss dringend schlafen.)