Neu PHP Fatal error in Verfügbarkeitsbenachrichtigungen (OptinAvailAgain.php)

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.

Marco Stark

Aktives Mitglied
18. Oktober 2014
18
2
Betroffene Shop Versionen: 5.1.5, 5.1.2

Nach Durchsicht der serverseitigen Fehlerprotokolle (Apache/nginx) tauchen dort vermehrt folgende Einträge auf:

error.log

2023-01-22 15:32:10 Warning 178.*** mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: JTL\\Campaign::setCampaignAction(): Argument #2 ($kKey) must be of type int, string given, called in ***/includes/src/Optin/OptinAvailAgain.php on line 131 and defined in ***/includes/src/Campaign.php:289, referer: android-app://com.google.android.gm/ Apache-Fehler 2023-01-22 15:32:10 Warning 178.*** mod_fcgid: stderr: #0 ***/includes/src/Optin/OptinAvailAgain.php(131): JTL\\Campaign::setCampaignAction(), referer: android-app://com.google.android.gm/ Apache-Fehler 2023-01-22 15:32:27 Warning 178.*** mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: JTL\\Campaign::setCampaignAction(): Argument #2 ($kKey) must be of type int, string given, called in ***/includes/src/Optin/OptinAvailAgain.php on line 131 and defined in ***/includes/src/Campaign.php:289 Apache-Fehler 2023-01-22 15:32:27 Warning 178.*** mod_fcgid: stderr: #0 ***/includes/src/Optin/OptinAvailAgain.php(131): JTL\\Campaign::setCampaignAction() Apache-Fehler 2023-01-22 15:32:30 Warning 178.*** mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: JTL\\Campaign::setCampaignAction(): Argument #2 ($kKey) must be of type int, string given, called in ***/includes/src/Optin/OptinAvailAgain.php on line 131 and defined in ***/includes/src/Campaign.php:289 Apache-Fehler 2023-01-22 15:32:30 Warning 178.*** mod_fcgid: stderr: #0 ***/includes/src/Optin/OptinAvailAgain.php(131): JTL\\Campaign::setCampaignAction() Apache-Fehler 2023-01-22 15:32:33 Warning 178.*** mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: JTL\\Campaign::setCampaignAction(): Argument #2 ($kKey) must be of type int, string given, called in ***/includes/src/Optin/OptinAvailAgain.php on line 131 and defined in ***/includes/src/Campaign.php:289 Apache-Fehler 2023-01-22 15:32:33 Warning 178.*** mod_fcgid: stderr: #0 ***/includes/src/Optin/OptinAvailAgain.php(131): JTL\\Campaign::setCampaignAction()

Betroffene Dateien:

-> Campaign.php (Zeile 289 in Shop 5.1.5 | Zeile 296 in Shop 5.2.1)
https://gitlab.com/jtl-software/jtl-shop/core/-/blob/master/includes/src/Campaign.php#L296

-> OptinAvailAgain.php (Zeile 131 in Shop 5.1.5 | Zeile 128 in Shop 5.2.1)
https://gitlab.com/jtl-software/jtl...r/includes/src/Optin/OptinAvailAgain.php#L128

Lösungsvorschlag:

Typ-Validierung von $inquiryID vor dem Aufruf von Campaign::setCampaignAction(\KAMPAGNE_DEF_VERFUEGBARKEITSANFRAGE, $inquiryID, 1.0); implementieren / $inquiryID - falls string - auf int casten, da ReturnType::LAST_INSERTED_ID vieles, aber leider keinen Wert vom Typ "int" zurück gibt.. Ebenfalls zu beachten ist, dass der Rückgabewert von ReturnType::LAST_INSERTED_ID auch ein Boolean sein kann. Diesen einfach auf "int" zu casten, wäre keine gute Idee (...) Ihr wisst was ich meine.

https://gitlab.com/jtl-software/jtl...cludes/src/Optin/OptinAvailAgain.php#L116-125

TL,
Marco
 

Anhänge

  • error.log.txt
    1,9 KB · Aufrufe: 3
Zuletzt bearbeitet:

shops247

Aktives Mitglied
28. April 2021
30
8
Bekomme den gleichen Fehler, Nutzer bekommt nach Klick auf den Bestätigungslink einen 500-Fehler im Browser. Keine Ahnung, ob das ergänzend hilft, aber das hier steht in unserem Fehlerlog (anders als @Marco Stark fehlt mir das Know-how, um Lösungen vorzuschlagen 😁):

Code:
[23-Jan-2023 18:41:33 Europe/Berlin] PHP Fatal error:  Uncaught TypeError: Argument 2 passed to JTL\Campaign::setCampaignAction() must be of the type int, string given, called in ***/includes/src/Optin/OptinAvailAgain.php on line 131 and defined in ***/includes/src/Campaign.php:288
Stack trace:
#0 ***/includes/src/Optin/OptinAvailAgain.php(131): JTL\Campaign::setCampaignAction(6, '179', 1)
#1 ***/includes/src/Optin/Optin.php(93): JTL\Optin\OptinAvailAgain->activateOptin()
#2 ***/includes/src/Shop.php(1711): JTL\Optin\Optin->handleOptin()
#3 ***/index.php(11): JTL\Shop::getEntryPoint()
#4 {main}
  thrown in ***/includes/src/Campaign.php on line 288
 
  • Gefällt mir
Reaktionen: Marco Stark

Marco Stark

Aktives Mitglied
18. Oktober 2014
18
2
Guten Abend nach Berlin :)

Ja, es sind die gleichen Aktoren im Spiel. Feedback von Support kam bereits. Der BugFix wird mit dem nächsten Release eingespielt.

In super dringenden Fällen kann man das Fehlverhalten manuell, vor dem offiziellen Path fixen. Würde ich aber nur machen, wenn der Nutzen entsprechend hoch ist. Denn: Never fummel in the core - oder so 🙌

PS: Dein Log File ist sooooo viel aussagekräftiger als meins. Bei dir stehen sogar die Parameter im Funktionsaufruf: JTL\Campaign::setCampaignAction(6, '179', 1). Die '179' ist das Problem. Dort sollte 179 - ohne Anführungsstriche stehen.

Gruß,
Marco
 
  • Gefällt mir
Reaktionen: shops247
Ähnliche Themen
Titel Forum Antworten Datum
Wichtig Beta Connector für Presta 8 mit PHP 8+ PrestaShop-Connector 72
Neu PrestaShop Connector für Prestashop 8 mit PHP 8.2 wird nicht unterstützt PrestaShop-Connector 3
Neu /navi.php?q=2 Abfragen laufen auf 404 Gelöste Themen in diesem Bereich 4
Neu JTL Connector Woocomerce für PHP Version 7.4 WooCommerce-Connector 2
Neu Connector für php 8.3 / Prestashop 8.1.3 PrestaShop-Connector 6
Neu JTL-Shop 5 und PHP OpCache Allgemeine Fragen zu JTL-Shop 9
Neu Richtige Hook zum Berechnen der Lieferzeit in Artikel.php Technische Fragen zu Plugins und Templates 1
Gelöst Shop 5.3.1 Fatal Error Gelöste Themen in diesem Bereich 2
Kein ebay Abgleich seit Update auf 1.9.4.1 - error calling EaEbayNegotiationEligibleItemPost JTL-Wawi 1.9 9
Neu 500 Internal Server Error JTL-Shop - Fehler und Bugs 2
Neu Error on uploading logo image on jtl 5.3.1 JTL-Shop - Fehler und Bugs 0
Neu The remote server returned an error: (400) Bad Request. JTL-ShippingLabels - Fehler und Bugs 75
Neu Shop Error: Error executing query: INSERT INTO tsuchcachetreffer JTL-Shop - Fehler und Bugs 0
Worker Error TrackAndTrace JTL-Wawi 1.8 1
Neu 5.3.1 HTTP Error 500 bei Bestellungen Gelöste Themen in diesem Bereich 4
Neu Error Code = 0 bei Installation JTL-Shop 5.3.1 Einrichtung JTL-Shop5 3
Verlässlicher Error nach 30 Sekunden temporäre Filter / Filter Artikelsuche JTL-Wawi 1.7 3
In Diskussion Liquid error: Parameteranzahlkonflikt bei einer einfachen Anweisung Gelöste Themen in diesem Bereich 3
Zahlungsarten und Versandarten ERROR 500 Einrichtung JTL-Shop5 8
Neu Error beim öffnen von Artikeln und Unterkategorien in zweiter Sprache JTL-Shop - Fehler und Bugs 1
Neu Shop nicht mehr erreichbar HTTP 500 Error Betrieb / Pflege von JTL-Shop 1

Ähnliche Themen