PHP Warning: mb_strpos() - Empty delimiter

Seitdem ich ein Update auf die CE 4.1.6 gemacht habe, bekommen ich immer wieder folgenden Fehler angezeigt:
[B]
PHP Warning: mb_strpos() [<a href=‘function.mb-strpos’>function.mb-strpos</a>]: Empty delimiter in /xxx/xx/xxxxxx/core/oxstrmb.php on line 98[/B]

Leider kann ich mit dieser Funktion nichts anfangen und weiß auch nicht woher der Fehler kommt. Kann mir da evtl. jemand einen Tipp geben und mir sagen wofür diese Funktion zuständig ist?

So sehen die entsprechenden Zeilen aus:

    public function strpos( $sHaystack, $sNeedle, $iOffset = null )
    {
        $iOffset = is_null( $iOffset ) ? 0 : $iOffset;
        return mb_strpos( $sHaystack, $sNeedle, $iOffset, $this->_sEncoding );
    }

Vielen Dank schonmal im vorraus

lg plexus

Hallo Plexus,

hat jetzt geklappt? Ich kann die Fehlermeldung nicht entdecken. Woran lag es denn?

Gruß

Nein sorry, hatte vergessen zu erwähnen dass auf unserem Server eine “php5_error.log” Datei angelegt wurde. Dort ist der Fehler mehrfach zu finden. Deshalb kann ich Dir auch nicht wirklich sagen, wann dieser Fehler auftritt.

Hast Du eine Idee? :confused:

Hi,

nein, nicht wirklich. Du kannst maximal in der Testumgebung mal die Log-Datei leeren, wild im Shop rumklicken und im Log schauen, bei welcher Gelegenheit das auftritt…

Gruß

Ja du bist lustig, das hab ich schon längst gemacht. Das hat leider nichts gebracht. Vielleicht tritt der Fehler auch nur auf wenn man einen anderen Browser verwendet?!? :rolleyes:

[QUOTE=plexus;16785]Ja du bist lustig, das hab ich schon längst gemacht. Das hat leider nichts gebracht. Vielleicht tritt der Fehler auch nur auf wenn man einen anderen Browser verwendet?!? :rolleyes:[/QUOTE]
Solche Problem kann man sinnvoll nur in einer Entwicklungsumgebung debuggen, damit man sieht, wann dieser Fehler mit welchen konkreten Variablen auftritt.

Rein theoretisch funktioniert da nichts…

Um das Symptom (die Fehlermeldung) zu verhindern, kannst Du das “mb_strpos(…” durch “”@mb_strpos(…" ersetzen.
Löst nicht das Problem, aber sonst scheint ja keine Nebenwirkung aufzutreten…

    public function strpos( $sHaystack, $sNeedle, $iOffset = null ) 
    { 
        $iOffset = is_null( $iOffset ) ? 0 : $iOffset; 
        return @mb_strpos( $sHaystack, $sNeedle, $iOffset, $this->_sEncoding ); 
    } 

[QUOTE=avenger;16822]
Um das Symptom (die Fehlermeldung) zu verhindern, kannst Du das “mb_strpos(…” durch “”@mb_strpos(…" ersetzen.
Löst nicht das Problem, aber sonst scheint ja keine Nebenwirkung aufzutreten…[/QUOTE]

Danke für deine Antwort avenger.

Was genau wird dadurch bewirkt, dass man ein @ davor schreibt? Hat es irgendwelche Nachteile? Nicht dass ich den einen Fehler durch einen anderen ersetze.

[QUOTE=plexus;16826 Was genau wird dadurch bewirkt, dass man ein @ davor schreibt? Hat es irgendwelche Nachteile? Nicht dass ich den einen Fehler durch einen anderen ersetze.[/QUOTE]
Das “@” bewirkt nur, dass die Fehlermeldung unterdrückt wird.

[QUOTE=avenger;16827]Das “@” bewirkt nur, dass die Fehlermeldung unterdrückt wird.[/QUOTE]

Danke, wieder etwas dazugelernt. :wink: