Nama Host PHP tidak benar

12

Kami memiliki aplikasi yang sudah berjalan sekitar 2 tahun sekarang tanpa masalah.

Pagi ini ketika saya datang di situs itu mendapatkan kesalahan:

Session: connection failed

Saya memeriksa koneksi basis data, memeriksa pengguna, memeriksa hibah untuk pengguna, semuanya tampak baik-baik saja.

Saya membuat halaman pengujian menggunakan informasi koneksi dalam file .inc.xml

Mendapat kesalahan koneksi mysql.

Ini adalah file asli:

   <TYPE>mysql</TYPE>
        <HOST>dbl</HOST>
        <USER>dbuser</USER>
        <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>

Nama host server bukan dbl

Saya mengubah baris kedua menjadi ini:

   <TYPE>mysql</TYPE>
        <HOST>localhost</HOST>
        <USER>dbuser</USER>
        <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>

Terhubung dengan baik.

Membuat perubahan yang sama ke file .inc.xml asli dan aplikasi telah kembali dan berfungsi dengan baik.

Pertanyaan saya):

Saya memeriksa log audit, koneksi, pertanyaan, sistem belum diakses selama sekitar 3 minggu.

The .inc.xml terakhir dimodifikasi lebih dari setahun yang lalu.

Mengapa aplikasi tiba-tiba berhenti mengambil dbl sebagai tuan rumah?

Dari mana nama host dbl berasal?

Tata Letak Sistem:

[root@acpr-web-x ~]# cat /proc/version
Linux version 2.6.32-358.2.1.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Wed Feb 20 12:17:37 EST 2013

[root@acpr-web-x ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Aug 15 2014 03:02:07

[root@acpr-web-x ~]# php -v
PHP 5.3.3 (cli) (built: Oct 23 2014 06:58:46)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Mysql Server version: 5.1.73-log Source distribution
Anthony Fornito
sumber

Jawaban:

11

Tebakan pertama saya adalah / etc / hosts yang dapat mengesampingkan DNS (jika ada untuk host) dan menggantikan hampir seluruhnya untuk penerusan DNS ketika hilang. Untuk alasan apa pun host ini (dbl) berada di / etc / hosts dan kemudian tidak.

Kedua, katakanlah /etc/resolv.conf kehilangan opsi pencarian untuk domain lokal, sehingga dbl.foo.com menyelesaikan tetapi dbl tidak ... juga kemungkinan.

Jason Chodakowski
sumber
Setelah memeriksa file / etc / hosts, terakhir diubah 1/29/2015 dan entri dbl masih ada menunjuk ke IP yang benar, /etc/resolv.conf terakhir dimodifikasi 11/8/2012 dan terlihat benar.
Anthony Fornito
Baiklah kalau begitu ... bagaimana dengan ini? Dari dalam MySQL: use mysql; select user,host,password from userIni dapat mengungkapkan perubahan pada host tempat pengguna 'dbuser' diizinkan untuk mengakses db dari. Penyebab potensial yang terbatas, harus dapat menentukan ini. Saya akan membuang pemeriksaan cepat pada /etc/nsswitch.conf tapi file itu agak tidak jelas hari ini dan kemungkinan perubahannya rendah, tapi itu layak untuk dicek (ini mengontrol urutan penyelesaian hal-hal pada sistem).
Jason Chodakowski