Osticket: Erreur fatale : appel à la fonction non définie _S() dans include/class.mailer.php à la ligne 573

Créé le 10 juil. 2017  ·  4Commentaires  ·  Source: osTicket/osTicket

Conditions préalables

  • [ ] Pouvez-vous reproduire le problème dans une nouvelle installation de la branche "develop" ?
  • [x] Avez-vous des erreurs dans le journal des erreurs PHP ou dans la console javascript ?
  • [x] Avez-vous consulté les forums osTicket ?
  • [x] Avez-vous effectué une recherche rapide pour voir si votre bogue ou amélioration est déjà signalé ?

Pour plus d'informations sur la rédaction d'un bon rapport de bogue

La description

Sur une nouvelle installation d'osticket :

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



Étapes pour reproduire

  1. [Premier pas]
  2. [Deuxième étape]
  3. [etc...]

Comportement attendu : [Ce à quoi vous vous attendiez]

Comportement réel : [Ce qui s'est réellement passé]

Versions

  • osTicket 1.10
  • PHP 5.6.30

Mise à jour : cela semble se produire lorsque osTicket ne peut pas se connecter à mysql, il semble qu'il essaie d'envoyer un e-mail et que cette fonction utilise _S(), cependant Internationlization::bootstrap n'est appelé que pendant /setup/ ?

Commentaire le plus utile

Dans mon cas, l'erreur s'est produite en raison de l'arrêt du moteur de la base de données.

Tous les 4 commentaires

Juste au cas où quelqu'un d'autre rencontrerait ce problème... J'ai eu ce problème sur CentOS 7 exécutant Apache - avec SELinux, mais la base de données était sur un système séparé.
Pour tester si votre problème vient de SELinux : setenforce 0 et actualisez le navigateur. osTicket devrait maintenant fonctionner correctement. Si tel est votre cas, voici la solution.

SELinux interdit à Apache de créer des connexions réseau, alors autorisez-les simplement.

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

Facile

Dans mon cas, l'erreur s'est produite en raison de l'arrêt du moteur de la base de données.

Bien que la base de données soit en panne, le problème ici est que la notification par courrier électronique indiquant que la base de données est en panne échoue en raison de cette erreur de compilation.

La fonction _S semble provenir du module il8n, mais c'est un peu compliqué de tracer si/comment cette fonction est réellement chargée.
https://github.com/osTicket/osTicket/blob/master/include/cli/modules/i18n.php#L628

Il y a peut-être un problème avec la connexion DB ! assurez-vous que votre utilisateur a le mot de passe. root sans mot de passe peut également provoquer cette erreur.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

simonnzg picture simonnzg  ·  5Commentaires

cervedgroup picture cervedgroup  ·  5Commentaires

mlipok picture mlipok  ·  5Commentaires

F3000 picture F3000  ·  5Commentaires

rachelsupport picture rachelsupport  ·  5Commentaires