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: Merkwürdige Fehlermeldung für die free.php nach Checkout

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #15 am: 02. Dezember 2014, 14:24:48
    Failed opening '/lang/german/modules/order_total/ot_shipping.php'

    Bedeutet nicht, dass die Datei nicht vorhanden ist, sondern dass sie nicht lesbar ist.
    Rechte richtig gesetzt?
    Datei korrupt? Geht die Datei zu kopieren nach lokal und dann zu öffnen?
    Wenn es dann immer noch nicht geht .... kopieren und öffnen sind 2 Unterschiedliche Dinge auf Ebene des Betriebssystems ... ein PHP Script das versuchen lassen:
    <?php
    echo file_get_contents('/lang/german/modules/order_total/ot_shipping.php');

    ?>

    muxmir

    • Neu im Forum
    • Beiträge: 5
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #16 am: 03. Dezember 2014, 18:50:39
    danke für die schnelle Rückmeldung.

    Der Fehler tritt auf, wenn man eine Auftragsbestätigung verschickt.

    Fehlerursache ist eine falsche Pfadangabe im Patch.

    Patch:
    ... include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/order_total/ot_shipping.php');

    Korrekturvorschlag:
    ... include (DIR_FS_CATALOG . 'lang/'.$_SESSION['language'].'/modules/order_total/ot_shipping.php');

    Gruß
    Joachim

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.838
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #17 am: 03. Dezember 2014, 22:16:40
    Eher nicht, denn DIR_WS_LANGUAGES == DIR_FS_CATALOG . 'lang/', es sei denn du hast einen Fehler in deiner /includes/configure.php.

    Gruß,
    noRiddle

    muxmir

    • Neu im Forum
    • Beiträge: 5
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #18 am: 04. Dezember 2014, 12:04:19
    Hallo noRiddle,

    meine Fehlermeldung vom 2.12. kommt in der Bestellverwaltung wenn man eine Auftragsbestätigung verschickt. Hierfür ist die admin/includes/configure.php zuständig.

    Hier gilt, anders als in /includes/configure.php:

    define('DIR_WS_LANGUAGES', DIR_WS_CATALOG. 'lang/');

    DIR_WS_CATALOG != DIR_FS_CATALOG vielleicht ist das die Lösung?

    Gruß
    Joachim

    Fritzler

    • Neu im Forum
    • Beiträge: 15
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #19 am: 10. Januar 2015, 19:18:15
    Wenn das Problem seit Januar 2013 bekannt ist und sogar ein Fix dafür gibt, dann sollte es zumindestens ins nächste Update kommen.

    Das Problem tritt in der Revision 4642 immer noch auf.

    ShopUser

    • Frisch an Board
    • Beiträge: 55
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #20 am: 23. Juni 2015, 13:55:35
    Moin zusammen,
    habe den Fehler auch soeben erhalten nachdem ich eine Auftragsbestätigung aus dem Adminbereich versendet habe- also gleiche Vorraussetzungen wie muxmir sie beschrieben hat.
    Gibt es dafür jetzt einen gültigen Patch (Shopssoftware v1.06 rev 4642 SP1)?

    Zitat
    Warning: include(/lang/german/modules/order_total/ot_shipping.php) [function.include]: failed to open stream: No such file or directory in /shop/send_order.php on line 85

    Warning: include() [function.include]: Failed opening '/lang/german/modules/order_total/ot_shipping.php' for inclusion (include_path='.:/usr/local/lib/php') in /shop/send_order.php on line 85

    Warning: Cannot modify header information - headers already sent by (output started at /shop/send_order.php:85) in /shop/admin/includes/functions/general.php on line 208

    In der send_order.php findet sich im Raum der besagten Fehlerzeile folgender Code:
    Code: PHP  [Auswählen]
    if ($order->info['shipping_class'] != '' && $order->info['shipping_class'] != 'free_free') {
            $shipping_class = explode('_', $order->info['shipping_class']);
            include (DIR_FS_CATALOG . 'lang/'.$order->info['language'].'/modules/shipping/'.$shipping_class[0].'.php');
            $shipping_method = constant(strtoupper('MODULE_SHIPPING_'.$shipping_class[0].'_TEXT_TITLE'));
          } else {
            include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/order_total/ot_shipping.php');
            $shipping_method = FREE_SHIPPING_TITLE;
          }

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #21 am: 23. Juni 2015, 15:00:30
    Hallo ShopUser

    Das Problem scheinen die folgenden unterschiedlichen Definitionen zu sein,

    in '/admin/includes/configure.php'
    Code: PHP  [Auswählen]
      define('DIR_WS_LANGUAGES', DIR_WS_CATALOG. 'lang/');
    und in '/includes/configure.php'
    Code: PHP  [Auswählen]
      define('DIR_WS_LANGUAGES', DIR_FS_CATALOG . 'lang/');

    ob es einen Patch dafür gibt weiss ich nicht, aber Du kannst zur Fehlerbehebung folgendes versuchen.

    Ersetze diese Zeile aus deinem Post #20
    Code: PHP  [Auswählen]
    include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/order_total/ot_shipping.php');
    mit dieser Zeile
    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$_SESSION['language'].'/modules/order_total/ot_shipping.php');

    Gruss
    Hanspeter

    ShopUser

    • Frisch an Board
    • Beiträge: 55
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #22 am: 23. Juni 2015, 17:57:54
    Moin Hanspeter,
    scheint hinzuhauen. Vielen Dank dafür.

    Eichenhorn

    • Fördermitglied
    • Beiträge: 503
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #23 am: 08. August 2015, 16:17:50
    Hallo,

    die Zeilen

    Code: PHP  [Auswählen]
    include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/shipping/' . $include_modules[$i]['file']);
    include(DIR_WS_MODULES . 'shipping/' . $include_modules[$i]['file']);
     

    in der includes/classes/shipping.php verursachen folgende Fehlermeldung, wenn ich ein export-modul starten möchte:
    Zitat
    Warning: include(/lang/german/modules/shipping/eudhl.php) [function.include]: failed to open stream: No such file or directory in /var/www/web111/html/shop/includes/classes/shipping.php on line 55

    Warning: include() [function.include]: Failed opening '/lang/german/modules/shipping/eudhl.php' for inclusion (include_path='.:/usr/local/php/53x/data/php/pear') in /var/www/web111/html/shop/includes/classes/shipping.php on line 55

    Warning: include(includes/modules/shipping/eudhl.php) [function.include]: failed to open stream: No such file or directory in /var/www/web111/html/shop/includes/classes/shipping.php on line 56

    Warning: include(includes/modules/shipping/eudhl.php) [function.include]: failed to open stream: No such file or directory in /var/www/web111/html/shop/includes/classes/shipping.php on line 56

    Warning: include() [function.include]: Failed opening 'includes/modules/shipping/eudhl.php' for inclusion (include_path='.:/usr/local/php/53x/data/php/pear') in /var/www/web111/html/shop/includes/classes/shipping.php on line 56

    Fatal error: Class 'eudhl' not found in /var/www/web111/html/shop/includes/classes/shipping.php on line 57

    Code: PHP  [Auswählen]
    include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/shipping/' . $include_modules[$i]['file']);
    include(DIR_WS_MODULES . 'shipping/' . $include_modules[$i]['file']);
     


    Ersetze diese Zeile aus deinem Post #20
    Code: PHP  [Auswählen]
    include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/order_total/ot_shipping.php');
    mit dieser Zeile
    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$_SESSION['language'].'/modules/order_total/ot_shipping.php');

    Ich habe, in Anlehnung an dem Beispiel oben, die Zeilen wie folgt ersetzt:

    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$_SESSION['language'] . '/modules/shipping/' . $include_modules[$i]['file']);
    include(DIR_FS_CATALOG_MODULES . 'shipping/' . $include_modules[$i]['file']);
     

    Die Fehlermeldung ist verschwunden, aber dann klappte der Checkout im Shop nicht mehr. Hat jemand eine Idee, wie ich das Problem beheben könnte?

    Danke!

    Eichenhorn

    • Fördermitglied
    • Beiträge: 503
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #24 am: 08. August 2015, 16:24:59
    Ach ja, das Problem tauchte auf, nachdem ich in der besagten eudhl.php neue Preise und Länder eingefügt habe. Ich hatte das Versandmodul jedoch schon vorher in Verwendung.

    Eichenhorn

    • Fördermitglied
    • Beiträge: 503
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #25 am: 08. August 2015, 16:55:15
    Und in dem Modul habe ich folgenden (wohl) relevanten Code:
    Code: PHP  [Auswählen]
     // filter by shipping method
        require_once DIR_FS_DOCUMENT_ROOT . DIR_WS_CLASSES . 'shipping.php';
        $shipping = new shipping();
        $shipping_methods = array();
        foreach ($shipping->modules as $m) {
          require_once DIR_FS_DOCUMENT_ROOT . DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/shipping/' . $m;
          $k = substr($m, 0, strrpos($m, '.'));
          $c = 'MODULE_SHIPPING_' . strtoupper($k) . '_TEXT_TITLE';
          $checked = !isset($_POST['filter_shipping']) || (is_array($_POST['filter_shipping']) && in_array($k, $_POST['filter_shipping']));
          $shipping_methods[] = xtc_draw_checkbox_field('filter_shipping[]', $k, $checked) . ' ' . (defined($c) ? constant($c) : $c);
        }
     

    In dem Wiki hier im Forum steht:

    Zitat
    DIR_FS bezeichnet Dateipfade bezogen auf das Dateisystem des Servers
    DIR_WS bezeichnet Adresspfade der URL

    (Anmerkung: Im Programmcode werden die Pfadangeben (DIR_WS/DIR_FS) nicht immer korrekt benutzt. An vielen Stellen sind WS-Konstanten verwendet obwohl FS angemessen wäre.)

    Ist das noch immer so, dass die Pfadangaben nicht immer korrekt verwendet werden? Liegt das Problem daran?

    Eichenhorn

    • Fördermitglied
    • Beiträge: 503
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #26 am: 08. August 2015, 19:50:22
    Eine weitere Information, die vielleicht zur Fehlersuche hilfreich sein könnte: Ich habe die Reihenfolge der aktivierten Shippingmodule geändert. Jetzt wird die obige eudhl.php durch die, nun, erste zones.php ersetzt.

    Eichenhorn

    • Fördermitglied
    • Beiträge: 503
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #27 am: 08. August 2015, 21:37:23
    Problem gelöst, und zwar habe ich die DIR_WS Pfade in DIR_FS Pfade geändert, sowohl in der includes/classes/shipping.php als auch in dem export-Modul.

    Bei der shipping.php habe ich die Zeilen

    Code: PHP  [Auswählen]
    include(DIR_WS_LANGUAGES . $_SESSION['language'] . '/modules/shipping/' . $include_modules[$i]['file']);
    include(DIR_WS_MODULES . 'shipping/' . $include_modules[$i]['file']);

    wie folgt geändert:

    Code: PHP  [Auswählen]
    include (DIR_FS_CATALOG . 'lang/'.$_SESSION['language'] . '/modules/shipping/' . $include_modules[$i]['file']);
    include(DIR_FS_CATALOG . 'includes/modules/shipping/' . $include_modules[$i]['file']);

    Q

    • Fördermitglied
    • Beiträge: 1.514
    Re: Merkwürdige Fehlermeldung für die free.php nach Checkout
    Antwort #28 am: 18. Januar 2017, 21:40:24
    Hallo,

    hier der Fix aus dem SVN r4857:

    /send_order.php

    suche das hier:

    Jetzt bin ich etwas verwirrt! Ich habe einen Shop auf SP4 geupdated und dann auch die Meldung bekommen:

    Warning: include(/www/htdocs/~/onlineshop/lang/german/modules/shipping/free.php): failed to open stream: No such file or directory in /www/htdocs/~/onlineshop/send_order.php on line 70

    Warning: include(): Failed opening '/www/htdocs/~/onlineshop/lang/german/modules/shipping/free.php' for inclusion (include_path='.:/usr/share/php:..') in /www/htdocs/~/onlineshop/send_order.php on line 70

    Warning: constant(): Couldn't find constant MODULE_SHIPPING_FREE_TEXT_TITLE in /www/htdocs/~/onlineshop/send_order.php on line 71

    Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/~/onlineshop/send_order.php:70) in /www/htdocs/~/onlineshop/inc/xtc_redirect.inc.php on line 39


    Wenn ich die send_orders.php nach o.g. fix ändere, läufts ohne Probleme durch. Ist der Fix in den neueren Versionen verschleppt worden?
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
    65 Antworten
    21615 Aufrufe
    25. Oktober 2009, 15:42:33 von koshiro
    30 Antworten
    11462 Aufrufe
    22. Oktober 2010, 11:17:51 von GTB
    1 Antworten
    2964 Aufrufe
    16. Oktober 2009, 07:35:26 von mizzy
               
    anything