Guten Morgen, seit heute morgen erhalte ich folgende Fehlermeldung: WARNING(512): "/var/www/web43/html/gx/gx/cache/persistence_index is not writable" in /var/www/web43/html/gx/gx/system/core/DataCache.inc.php:107 #0 trigger_error called at [/var/www/web43/html/gx/gx/system/core/DataCache.inc.php:107] #1 (#DataCache) write_persistence_index called at [/var/www/web43/html/gx/gx/system/core/DataCache.inc.php:90] #2 (#DataCache) add_persistence_tag called at [/var/www/web43/html/gx/gx/system/core/DataCache.inc.php:133] #3 (#DataCache) set_data called at [/var/www/web43/html/gx/gx/system/request_port/AjaxHandler/LoadAdminInfoBoxesAjaxHandler.inc.php:114] #4 (#LoadAdminInfoBoxesAjaxHandler) proceed called at [/var/www/web43/html/gx/gx/system/request_port/RequestRouter.inc.php:122] #5 (#RequestRouter) proceed called at [/var/www/web43/html/gx/gx/admin/request_port.php:267] Die Meldung kommt immer beim Cache leeren. Gibt es eventuell einen Tip zur Fehlerbehebung? Vielen Dank
Hallo Waltraud, den Tipp bekommst du schon in der Fehlermeldung "persistence_index is not writable": Der Index ist nicht beschreibbar "web43/html/gx/gx/system/core/DataCache.inc.php": Die Verzeichnisstruktur. Also einfach mal chmod anpassen.
Hallo, vielen Dank, es waren die Schreibrechte. Das Problem ist nun gelöst, es haben in der Datei die Schreibrechte gefehlt. Ich hatte beim Provider (Estugo) wegen eines anderen Problems angerufen und dieses haben wir dort gleich mitgelöst, aber die Ursache ist mir völlig unklar. Die datei wurde erst am 06.10. um 23:56 Uhr angelegt, zu dieser Zeit war ich aber definitiv nicht am arbeiten. Viele Grüße Waltraud
Komisch, vergleiche doch mal sicherheitshalber den Inhalt der Datei mit der aus dem Installationspaket.
Ich vermute mal, das das Problem bei der Datensicherung entstanden war. Am 06.10.2013 hatte ich am Abend eine Datensicherung über das Backup in meinem Account beim Provider gestartet. Das dauert nun mal eine ganze Zeit. Kurze Zeit später hatte ich bei der Wiederherstellung etwas nachgeschaut und auchversehentlich gestartet. Dabei hat das System vermutlich die betroffene Datei wiederhergestellt obwohl sie gerade beim sichern war und somit war sie unbrauchbar. Als ich dann am nächsten Tag die Shopkonfiguration gestartet hatte wurde sie meiner Meinung nach neu installiert und mit falschen Rechten versehen. Könnte das der Grund sein?
Hallo Waltraud, die Datei wird vom System selbst erstellt. Vermutlich wurde die Datei durch die Widerherstellung erneut abgespeichert, jedoch ohne die korrekten Dateirechte. Das gleiche Problem wirst du eventuell auch mit anderen Dateien bekommen, die nach der Wiederherstellung die falschen Dateirechte haben... MfG, Timo
Vielen Dank, dann liege ich mit meiner Vermutung scheinbar richtig. Bisher war dies aber die einzige Fehlermeldung. In der Hoffnung das das so bleibt grüße ich ganz lieb
Kann man die Dateirechte nicht per Script setzen? Ich mache das mit einem Bash-Script. Aber ginge das nicht auch mit PHP?
Hi Christian, das Problem ist der Besitzer. Die meisten Server (gerade normale Webhosting Pakete) lassen eine Dateirechteänderung nicht zu, wenn der Benutzer nicht der Besitzer der Datei ist (Dateien gehörem dem FTP User, aber der Apache (www-data) möchte die Dateirechte ändern). Eine Lösung wäre seitens PHP eine FTP Verbindung aufzubauen und darüber die Rechte zu setzen. Das Prinzip verwenden wir bereits im Installer. Dafür müssen aber zwangsweise die korrekten FTP Daten angegeben werden. MfG, Timo
Du wünscht dir also im Shop eine Funktion, dass die Dateirechte nochmals während des Shopbetriebes geprüft werden? MfG, Timo
Es wäre sinnvoll die Dateirechte regelmässig per Script zu prüfen. Wenn die Dateirechte nicht richtig gesetzt sind, könnte es eine Fehlermeldung geben. Die Dateirechte zu setzen könnte man dann manuell per Button vornehmen, wenn es notwendig ist. Da kann man dann auch die Zugangsdaten wie im update-script manuell eingeben und muss sie nicht im Shop speichern. Eine große Fehlerquelle weniger und zusätzliche Sicherheit.
Wo kann man denn nachlesen, welche Verzeichnisse und Dateien welche Rechte haben sollten? Habe jetzt nach Backup auf neuem Server einspielen allen erstmal 777 gegeben damit es lief. Aber das kann es ja eigentlich nicht sein... Im Handbuch steht zwar eine Liste von Dateien die 777 haben müssen, aber nicht welche Rechte die anderen Dateien und Verzeichnisse haben sollen!? Ich hab's dann nochmal per Shell umkopiert, und im resultierenden Verzeichnis die 777 Rechte laut Handbuch gesetzt (was ein Umstand). Wo gibt es so ein Script? Egal welcher Art, auch zB per Shell im Shop Root Verzeichnis ausführbar?
Sollte eigentlich im Handbuch stehen. Ich habe dafür ein Shell-Script, welches ich regelmässig nach Änderungen ausführe um nichts zu vergessen. Das erleichtert das Leben ungemein: Code: #!/bin/bash ##### Hier das Shopverzeichnis eintragen: shop=/srv/www/htdocs ##### Hier den Verzeichniseigentümer eintragen: chown www-data -R $shop/ ##### Hier die Gruppe eintragen: chgrp users -R $shop/ find $shop -type f -exec chmod 664 {} \; find $shop -type d -exec chmod 775 {} \; rm $shop/includes/*.php~ rm $shop/admin/includes/*.php~ chmod -R 777 $shop/admin/includes/magnalister chmod -R 777 $shop/gm/customers_uploads/gprint chmod -R 777 $shop/gm/images/gm_bookmarks chmod -R 777 $shop/images/categories chmod -R 777 $shop/images/gm/gprint chmod -R 777 $shop/images/logos chmod -R 777 $shop/images/product_images chmod -R 777 $shop/media chmod -R 777 $shop/shopgate chmod -R 777 $shop/templates/gambio/admin chmod -R 777 $shop/templates/gambio/backgrounds chmod -R 777 $shop/templates/gambio/mail chmod -R 777 $shop/templates/EyeCandy/admin chmod -R 777 $shop/templates/EyeCandy/backgrounds chmod -R 777 $shop/templates/EyeCandy/mail chmod -R 777 $shop/StyleEdit/files chmod 777 $shop/magnaCallback.php chmod 777 $shop/sitemap1.xml chmod 777 $shop/admin/magnalister.php chmod 777 $shop/admin/backups chmod 777 $shop/admin/images/icons chmod 777 $shop/admin/includes/configure.php chmod 777 $shop/admin/includes/configure.org.php chmod 777 $shop/admin/sync4 chmod 777 $shop/cache chmod 777 $shop/export chmod 777 $shop/images chmod 777 $shop/images/banner chmod 777 $shop/images/manufacturers chmod 777 $shop/images/slider_images chmod 777 $shop/import chmod 777 $shop/includes/configure.php chmod 777 $shop/includes/configure.org.php chmod 777 $shop/logfiles chmod 777 $shop/templates_c chmod 444 $shop/admin/includes/configure.php* chmod 444 $shop/admin/includes/configure.org.php* chmod 444 $shop/includes/configure.php* chmod 444 $shop/includes/configure.org.php*
Wie kann ich das als Laie in FTP hochladen, so dass dieses Script die Rechte meines Shops überprüft ? Was genau muss bei den '##### Stellen eingetragen werden und wie wird das dann geprüft bzw. gestartet ?