Osticket: Kesalahan fatal: Panggil ke fungsi yang tidak ditentukan _S() di include/class.mailer.php on line 573

Dibuat pada 10 Jul 2017  ·  4Komentar  ·  Sumber: osTicket/osTicket

Prasyarat

  • [ ] Dapatkah Anda mereproduksi masalah dalam instalasi baru cabang "develop"?
  • [x] Apakah Anda memiliki kesalahan dalam log kesalahan PHP, atau konsol javascript?
  • [x] Apakah Anda memeriksa forum osTicket ?
  • [x] Apakah Anda melakukan pencarian sepintas untuk melihat apakah bug atau peningkatan Anda sudah dilaporkan?

Untuk informasi lebih lanjut tentang cara menulis laporan bug yang baik

Keterangan

Pada instalasi osticket baru:

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



Langkah-langkah untuk Reproduksi

  1. [Langkah pertama]
  2. [Tahap kedua]
  3. [dan seterusnya...]

Perilaku yang diharapkan: [Apa yang Anda harapkan terjadi]

Perilaku aktual: [Apa yang sebenarnya terjadi]

Versi

  • osTiket 1.10
  • PHP 5.6.30

Pembaruan: ini tampaknya terjadi ketika osTicket tidak dapat terhubung ke mysql, tampaknya ia akan mencoba mengirim email dan fungsi itu menggunakan _S(), namun Internationlization::bootstrap hanya dipanggil selama /setup/ ?

Komentar yang paling membantu

Dalam kasus saya kesalahan terjadi karena mesin database sedang down.

Semua 4 komentar

Untuk berjaga-jaga jika ada orang lain yang mengalami masalah ini... Saya mengalami masalah ini pada CentOS 7 yang menjalankan Apache - dengan SELinux, namun database berada di sistem yang terpisah.
Untuk menguji apakah masalah Anda dengan SELinux: setenforce 0 dan segarkan browser. osTicket sekarang seharusnya berfungsi dengan baik. Jika hal ini terjadi pada Anda, inilah solusinya.

SELinux tidak mengizinkan Apache untuk membuat koneksi jaringan, jadi izinkan saja.

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

Mudah

Dalam kasus saya kesalahan terjadi karena mesin database sedang down.

Meskipun database sedang down, masalahnya di sini adalah bahwa pemberitahuan email bahwa db sedang down gagal karena kesalahan kompilasi ini.

Fungsi _S tampaknya berasal dari modul il8n, tetapi agak rumit untuk melacak jika/bagaimana fungsi ini benar-benar dimuat.
https://github.com/osTicket/osTicket/blob/master/include/cli/modules/i18n.php#L628

Mungkin ada masalah dengan koneksi DB! pastikan pengguna Anda memiliki kata sandi. root tanpa kata sandi juga dapat menyebabkan kesalahan ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat