XTCmodified (oder neudeutsch „modified eCommerce Shopsoftware“) begleitet mich nun schon sehr lange. Eine Frage die mich des öfteren erreicht, warum erhalte ich nach dem Upload eine weiße Seite wenn ich installieren möchte. Schaut man sich die error Logs an, kommt man meist sehr schnell hinter den vermeintlichen „Fehler“.
[Tue Nov 20 16:24:16 2012] [warn] [client xx.xx.xx.xx] mod_fcgid: stderr: PHP Warning: require(/var/www/webseite.de/web/includes/classes/boxes.php): failed to open stream: No such file or directory in /var/www/clients/client1/web8/web/www1/xtc_installer/includes/application.php on line 55
In unserem Beispiel ist der Pfad zu unserem Web Verzeichnis
/var/www/clients/client1/web8/web/
Anmerkung: /var/www/webseite.de ist ein Symlink auf /var/www/clients/client1/web8.
Die Datei application.php (xtc_installer Verzeichnis) wird jedoch aus
/var/www/clients/client1/web8/web/www1/
aufgerufen. Also wird der absolute Pfad falsch umgesetzt. Eine Quick&Dirty Lösung ist das anpassen des STRATO Fix in der application.php. Es geht um folgende Abfrage:
// Some FileSystem Directories if (!defined('DIR_FS_DOCUMENT_ROOT')) { //BOF - web28 - 2010.02.18 - STRATO ROOT PATCH if (strpos($_SERVER['DOCUMENT_ROOT'],'strato') !== FALSE) { //BOF - web28 - 2011-05-06 - NEW Strato document-root function define('DIR_FS_DOCUMENT_ROOT', rtrim(strato_document_root(),'/')); //EOF - web28 - 2011-05-06 - NEW Strato document-root function } else { define('DIR_FS_DOCUMENT_ROOT', rtrim($_SERVER['DOCUMENT_ROOT'],'/')); } //EOF - web28 - 2010.02.18 - STRATO ROOT PATCH $local_install_path=str_replace('/xtc_installer','',$_SERVER['PHP_SELF']); $local_install_path=str_replace('index.php','',$local_install_path); $local_install_path=str_replace('install_step1.php','',$local_install_path); $local_install_path=str_replace('install_step2.php','',$local_install_path); $local_install_path=str_replace('install_step3.php','',$local_install_path); $local_install_path=str_replace('install_step4.php','',$local_install_path); $local_install_path=str_replace('install_step5.php','',$local_install_path); $local_install_path=str_replace('install_step6.php','',$local_install_path); $local_install_path=str_replace('install_step7.php','',$local_install_path); $local_install_path=str_replace('install_finished.php','',$local_install_path); define('DIR_FS_CATALOG', DIR_FS_DOCUMENT_ROOT . $local_install_path); }
Im Detail um die Abfrage in Zeile 4. Ändert man diese in
// Some FileSystem Directories if (!defined('DIR_FS_DOCUMENT_ROOT')) { //BOF - web28 - 2010.02.18 - STRATO ROOT PATCH if (strpos($_SERVER['DOCUMENT_ROOT'],'strato') !== TRUE) {
klappts auch mit dem Nachbarn ;) Oder besser mit dem installieren.
Eine ebenso Quick&Dirty Lösung aber ein paar Zeilen tiefer hatte ich vor Monaten im Forum geschrieben. FALSE auf TRUE geht nur schneller :)