Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: PHP Upgrade 7.4 auf 8.0 in Verbindung Shopupdate 2.0.7.2 r14622 zu 3.0.0 r15588

    MrGrafix

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Hi,

    also eigentlich ist es schon peinlich diese Frage zu stellen, denn ich habe schon zigfach Modified Shops innerhalb eines Servers zu verschiedenen Usern hin- und her kopiert, oder über Server hinweg, kurz die configure.php und .htaccess angepasst und der Shop lief wieder. Aber das hier bringt mich schier zur Verzweiflung.

    Das Problem liegt eindeutig im PHP Upgrade 7.4 auf 8.0

    Das Problem fiel mir schon mal vor längeren auf, als ich bei einer Domain mit einem 2.0.7.2 r14622 ein PHP Upgrade 7.4 auf 8.0 vornahm. Das Ergebis ist eine weiße Seite. In den Logs werden keine Fehler geloggt, in der export/_error_reporting.all ebenfalls nicht. Ich habe jetzt einmal in der includes/application_top.php error_reporting(1); gesetzt und das gab mir folgendes aus:

    Zitat
    Fatal error: Uncaught Error: Undefined constant "DIR_FS_CATALOG_IMAGES" in /home/dh_q6eycv/MEINEDOMAIN.de/includes/extra/paths/categories_image.php:13 Stack trace: #0 /home/dh_q6eycv/MEINEDOMAIN.de/includes/paths.php(64): require_once() #1 /home/dh_q6eycv/MEINEDOMAIN.de/includes/configure.php(68): require_once('/home/dh_q6eycv...') #2 /home/dh_q6eycv/MEINEDOMAIN.de/includes/application_top.php(47): include_once('/home/dh_q6eycv...') #3 /home/dh_q6eycv/MEINEDOMAIN.de/index.php(25): require_once('/home/dh_q6eycv...') #4 {main} thrown in /home/dh_q6eycv/MEINEDOMAIN.de/includes/extra/paths/categories_image.php on line 13

    Die configure.php ist zu 100% korrekt, incl aller Pfade, http/https-Einstellungen, DB-Verbindung/User/PW/etc

    Mittels PHPMyAdmin habe ich in der configuration das bootstrap4 Template durch das tpl_modified_responsive ersetzt, um den Fehler auszuschließen.

    Der Cache und Template-Cache wurde geleert, aber es lässt sich weder die URL aufrufen, noch das admin-Verzeichnis, der neu hochgeschobene _installer-Verzeichnis, noch das login_admin.php?repair=all aufrufen.

    Der Gag ist aber, wenn ich eine Domain mit leeren Home-Verzeichnis auf PHP-8 setze und dann eine komplette Neuinstallation vornehme, funktioniert es.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=43291.0

    Timm

    • Fördermitglied
    • Beiträge: 6.256
    Moin

    Nur ne Info zum fehlenden Log.

    Das Ergebis ist eine weiße Seite. In den Logs werden keine Fehler geloggt, in der export/_error_reporting.all ebenfalls nicht.

    Die _error_reporting.all hat immer 0kb. Eigentlich müsste sie nach einem Update auf 3.0.0 wieder _error_reporting.err heißen. Da werden keine Logs drin erzeugt sondern die ist nur dafür da das Loglevel festzulegen bis 2.0.7.2. Ab 3.0.0 wird das Loglevel aber im Backend eingestellt und die Logs findest du dann über Hilfsprogramme-Logfiles.

    Gruß Timm

    MrGrafix

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Danke Timm für deine Antwort,

    ich habe die Datei wieder in _error_reporting.err umbenannt. Nur ins Backend komme ich eben nicht, weil quasi über jede URL eine weiße Seite kommt.

    Ich habe aber jetzt außerhalb des webspace ein https Logverzeichnis gefunden und ich kopiere mal expemplares den wiederkehrenden Fehler rein:

    Code: XML  [Auswählen]
    [Tue Feb 13 11:15:07.422803 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: PHP Fatal error:  Uncaught Error: Undefined constant "DIR_FS_CATALOG_IMAGES" in /home/dh_q6eycv/MEINEDOMAIN.de/includes/extra/paths/categories_image.php:13, referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454471 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: Stack trace:, referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454520 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: #0 /home/dh_q6eycv/MEINEDOMAIN.de/includes/paths.php(64): require_once(), referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454527 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: #1 /home/dh_q6eycv/MEINEDOMAIN.de/includes/configure.php(68): require_once('/home/dh_q6eycv...'), referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454531 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: #2 /home/dh_q6eycv/MEINEDOMAIN.de/includes/application_top.php(47): include_once('/home/dh_q6eycv...'), referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454536 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: #3 /home/dh_q6eycv/MEINEDOMAIN.de/index.php(25): require_once('/home/dh_q6eycv...'), referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454540 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr: #4 {main}, referer: http://66.33.199.170
    [Tue Feb 13 11:15:07.454544 2024] [fcgid:warn] [pid 887455:tid 140167046592256] [remote 107.20.105.74:58323] mod_fcgid: stderr:   thrown in /home/dh_q6eycv/MEINEDOMAIN.de/includes/extra/paths/categories_image.php on line 13, referer: http://66.33.199.170
     

    66.33.199.170 ist de IP meines Webservers.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Da die /includes/extra/paths/categories_image.php keine Standard-Datei eines jungfräulichen Shops ist, wäre es hilfreich, wenn du hier in Codetags ihren Inhalt posten würdest. PHP 8 geht mit undefinierten Konstanten hart ins Gericht, wie du merkst.

    Mich wundert nur, dass die Datei unter dem o. a. Pfad liegen soll. Catalog-Konstanten werden i. d. R. im Backend benötigt und müssten dann auch in dem eigenen Extra-Ordner liegen. Du solltest mal feststellen, zu welchem Modul diese Datei gehört.

    P.S.: Die nicht definierte Konstante sollte in der /admin/includes/paths.php definiert sein. Schau mal nach, ob du diese Datei hast und die Definition dort auftaucht:

    Code: PHP  [Auswählen]
      define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/');

    MrGrafix

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Hi awids,

    das war tatsächlich das erste, was ich gemacht hatte. Hier die Zeilen 13 - 15 der /includes/extra/paths/categories_image.php

    Code: PHP  [Auswählen]
      defined('DIR_FS_CATALOG_CATEGORIES_IMAGES') or define('DIR_FS_CATALOG_CATEGORIES_IMAGES', DIR_FS_CATALOG_IMAGES .'categories/');
      defined('DIR_FS_CATALOG_CATEGORIES_THUMBNAIL_IMAGES') or define('DIR_FS_CATALOG_CATEGORIES_THUMBNAIL_IMAGES', DIR_FS_CATALOG_CATEGORIES_IMAGES . 'thumbnail_images/');
      defined('DIR_FS_CATALOG_CATEGORIES_INFO_IMAGES') or define('DIR_FS_CATALOG_CATEGORIES_INFO_IMAGES', DIR_FS_CATALOG_CATEGORIES_IMAGES .'info_images/');
     

    Ich habe jetzt mal diese categories_image.php in .categories_image.php umbenant. Und es funktioniert.

    Du bist ein Gott.

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Ich komm jetzt irgendwie nicht hinterher, was du gemacht hast. Einen Punkt an den Anfang der Dateibezeichnung zu setzen sollte eigentlich nichts ändern, weil die Datei trotzdem noch als PHP-Datei erkannt und automatisch inkludiert wird. (Es sei denn, dein Server geht damit anders um als meiner.)

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Wie auch immer, DIR_FS_CATALOG_IMAGES  ist lediglich im Backend definiert, siehe /admin/includes/paths.php, und als Referenz  includes/paths.php.

    Gruß,
    noRiddle

    MrGrafix

    • Frisch an Board
    • Beiträge: 54
    • Geschlecht:
    Ich danke euch beiden.

    Ich habe über 10 Shops mit modified Shop laufen. Bei einigen Shops kommt es nicht vor, bei anderen schon. Alle haben gemeinsam: Das bootstrap Template, was zu unterschiedlichen Versionen in unterschiedliche Shopversionen installiert wurde. Das soll keinesfalls heißen, dass es von Karl kommt - vielleicht ist mir (mehrmals) ein Fehler beim Upload passiert, aber es schaut nicht so aus, als wären da Dateien im großen Stil aus falschen Ordnern fehlkopiert.

    Gestern hatte ich sogar (bei nur einer Domain, andere nicht) das Phänomen, dass das PHP Upgrade am Server von 7.4 -> 8.1 gar nicht erkannt wurde. Erst Upgrade auf 8.2 und nachfolgend auf 8.1 wurde dann erfolgreich erkannt.

    Manchmal gibt es so Tage, da steht man besser gar nicht auf.
    Managed Server
    4 Antworten
    471 Aufrufe
    08. März 2023, 21:07:01 von hpzeller
    5 Antworten
    1966 Aufrufe
    24. Januar 2017, 22:31:17 von awids
    3 Antworten
    2321 Aufrufe
    09. Februar 2015, 17:01:26 von Bonsai
    1 Antworten
    2270 Aufrufe
    19. Oktober 2011, 19:40:08 von Tomcraft