Osticket: Schwerwiegender Fehler: Aufruf der undefinierten Funktion _S() in include/class.mailer.php in Zeile 573

Erstellt am 10. Juli 2017  ·  4Kommentare  ·  Quelle: osTicket/osTicket

Voraussetzungen

  • [ ] Können Sie das Problem in einer Neuinstallation des "develop"-Zweigs reproduzieren?
  • [x] Haben Sie Fehler im PHP-Fehlerprotokoll oder in der Javascript-Konsole?
  • [x] Haben Sie die osTicket-Foren überprüft?
  • [x] Haben Sie eine flüchtige Suche durchgeführt, um zu sehen, ob Ihr Fehler oder Ihre Verbesserung bereits gemeldet wurde?

Weitere Informationen zum Verfassen eines guten Fehlerberichts

Beschreibung

Auf einer neuen osticket-Installation:

Strict Standards: Non-static method Misc::currentURL() should not be called statically in /opt/osticket/public/bootstrap.php on line 345

Notice: Undefined index: HTTPS in /opt/osticket/public/include/class.misc.php on line 148

Strict Standards: Non-static method Bootstrap::loadConfig() should not be called statically in /opt/osticket/public/main.inc.php on line 24

Notice: Constant ROOT_PATH already defined in /opt/osticket/public/include/ost-config.php on line 39

Strict Standards: Non-static method Bootstrap::i18n_prep() should not be called statically in /opt/osticket/public/main.inc.php on line 26

Deprecated: iconv_set_encoding(): Use of iconv.internal_encoding is deprecated in /opt/osticket/public/bootstrap.php on line 289

Strict Standards: Non-static method Bootstrap::loadCode() should not be called statically in /opt/osticket/public/main.inc.php on line 27

Strict Standards: Non-static method Bootstrap::connect() should not be called statically in /opt/osticket/public/main.inc.php on line 28

Strict Standards: Non-static method Bootstrap::croak() should not be called statically in /opt/osticket/public/bootstrap.php on line 190

Strict Standards: Non-static method Mailer::sendmail() should not be called statically in /opt/osticket/public/bootstrap.php on line 295

Deprecated: Non-static method Misc::randCode() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 144

Deprecated: Non-static method Crypto::random() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.misc.php on line 30

Notice: Undefined index: reply-tag in /opt/osticket/public/include/class.mailer.php on line 441

Deprecated: Non-static method Format::html2text() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 449

Strict Standards: Only variables should be passed by reference in /opt/osticket/public/include/html2text.php on line 64

Deprecated: Non-static method Mail::factory() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 566

Fatal error: Call to undefined function _S() in /opt/osticket/public/include/class.mailer.php on line 573



Schritte zum Reproduzieren

  1. [Erster Schritt]
  2. [Zweiter Schritt]
  3. [und so weiter...]

Erwartetes Verhalten: [Was Sie erwartet haben]

Tatsächliches Verhalten: [Was ist tatsächlich passiert]

Versionen

  • osTicket 1.10
  • PHP 5.6.30

Update: Dies scheint zu passieren, wenn osTicket keine Verbindung zu mysql herstellen kann. Es scheint, dass es versucht, eine E-Mail zu senden und diese Funktion _S() verwendet, jedoch wird Internationalization::bootstrap nur während /setup/ aufgerufen?

Hilfreichster Kommentar

In meinem Fall trat der Fehler auf, weil die Datenbank-Engine ausgefallen war.

Alle 4 Kommentare

Nur für den Fall, dass noch jemand auf dieses Problem stößt ... Ich hatte dieses Problem auf CentOS 7 mit Apache - mit SELinux, jedoch befand sich die Datenbank auf einem separaten System.
Um zu testen, ob Ihr Problem mit SELinux zusammenhängt: setenforce 0 und aktualisieren Sie den Browser. osTicket sollte jetzt gut funktionieren. Wenn dies bei Ihnen der Fall ist, finden Sie hier die Lösung.

SELinux verbietet Apache das Herstellen von Netzwerkverbindungen, also erlauben Sie es einfach.

setenforce 1 # We want SELinux to remain on!
setsebool -P httpd_can_network_connect_db 1

Leicht

In meinem Fall trat der Fehler auf, weil die Datenbank-Engine ausgefallen war.

Obwohl die Datenbank ausgefallen ist, besteht das Problem hier darin, dass die E-Mail-Benachrichtigung, dass die Datenbank ausgefallen ist, aufgrund dieses Kompilierungsfehlers fehlschlägt.

Die Funktion _S scheint aus dem il8n-Modul zu kommen, aber es ist etwas kompliziert zu verfolgen, ob/wie diese Funktion tatsächlich geladen wird.
https://github.com/osTicket/osTicket/blob/master/include/cli/modules/i18n.php#L628

Möglicherweise liegt ein Problem mit der DB-Verbindung vor! Stellen Sie sicher, dass Ihr Benutzer das Kennwort hat. root ohne Passwort kann diesen Fehler ebenfalls verursachen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen