Osticket: Erro fatal: chamada para função indefinida _S () em include / class.mailer.php na linha 573

Criado em 10 jul. 2017  ·  4Comentários  ·  Fonte: osTicket/osTicket

Pré-requisitos

  • [] Você pode reproduzir o problema em uma nova instalação do ramo "desenvolver"?
  • [x] Você tem algum erro no log de erros do PHP ou no console javascript?
  • [x] Você checou os fóruns do
  • [x] Você executou uma pesquisa superficial para ver se o seu bug ou aprimoramento já foi relatado?

Para obter mais informações sobre como escrever um bom relatório de bug

Descrição

Em uma nova instalação de 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



Passos para reproduzir

  1. [Primeiro passo]
  2. [Segundo passo]
  3. [e assim por diante...]

Comportamento esperado: [O que você esperava que acontecesse]

Comportamento real: [O que realmente aconteceu]

Versões

  • osTicket 1.10
  • PHP 5.6.30

Update: isso parece estar acontecendo quando osTicket não consegue se conectar ao mysql, parece que ele tentará enviar um e-mail e essa função usa _S (), no entanto Internationlization :: bootstrap só é chamado durante / setup /?

Comentários muito úteis

No meu caso, o erro ocorreu devido ao mecanismo de banco de dados estar inativo.

Todos 4 comentários

Caso alguém esteja tendo esse problema ... Tive esse problema no CentOS 7 executando o Apache - com o SELinux, no entanto, o banco de dados estava em um sistema separado.
Para testar se o seu problema é com o SELinux: setenforce 0 e atualize o navegador. osTicket agora deve funcionar bem. Se este for o seu caso, aqui está a solução.

O SELinux está impedindo o apache de criar conexões de rede, então simplesmente permita-as.

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

Fácil

No meu caso, o erro ocorreu devido ao mecanismo de banco de dados estar inativo.

Apesar de o banco de dados estar inativo, o problema aqui é que a notificação por e-mail informando que o banco de dados está inativo falha devido a esse erro de compilação.

A função _S parece vir do módulo il8n, mas é um pouco complicado rastrear se / como essa função é realmente carregada.
https://github.com/osTicket/osTicket/blob/master/include/cli/modules/i18n.php#L628

Pode haver um problema com a conexão DB! certifique-se de que seu usuário possui a senha. root sem senha pode causar este erro também.

Esta página foi útil?
0 / 5 - 0 avaliações