Tên máy chủ PHP không đúng


12

Chúng tôi có một ứng dụng đã chạy được khoảng 2 năm nay mà không gặp vấn đề gì.

Sáng nay khi tôi vào trang web đã gặp lỗi:

Session: connection failed

Tôi đã kiểm tra các kết nối cơ sở dữ liệu, kiểm tra người dùng, kiểm tra các khoản tài trợ cho người dùng, mọi thứ đều ổn.

Tôi đã tạo một trang thử nghiệm bằng cách sử dụng thông tin kết nối trong tệp .inc.xml

Có một lỗi kết nối mysql.

Đây là tập tin gốc:

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

Tên máy chủ của máy chủ không phải là dbl

Tôi đã thay đổi dòng thứ hai thành này:

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

Nó kết nối tốt.

Thực hiện cùng một thay đổi đối với tệp .inc.xml gốc và ứng dụng đã được sao lưu và chạy tốt.

Những câu hỏi của tôi):

Tôi đã kiểm tra nhật ký kiểm toán, kết nối, truy vấn, hệ thống đã không được truy cập trong khoảng 3 tuần.

Tệp .inc.xml đã được sửa đổi lần cuối cách đây hơn một năm.

Tại sao ứng dụng tất cả sẽ dừng đột ngột khi lấy dbl làm máy chủ?

Tên máy chủ dbl đó đến từ đâu?

Bố cục hệ thống:

[root@acpr-web-x ~]# cat /proc/version
Linux version 2.6.32-358.2.1.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (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

Câu trả lời:


11

Dự đoán đầu tiên của tôi sẽ là / etc / hosts có thể ghi đè DNS (nếu nó tồn tại cho máy chủ) và thay thế gần như hoàn toàn cho DNS chuyển tiếp khi thiếu. Vì lý do nào, máy chủ này (dbl) đã ở trong / etc / hosts và sau đó thì không.

Thứ hai, giả sử /etc/resolv.conf mất tùy chọn tìm kiếm cho tên miền cục bộ, để dbl.foo.com giải quyết nhưng dbl không ... cũng là một khả năng.


Sau khi kiểm tra tệp / etc / hosts, nó đã được sửa đổi lần cuối 1/29/2015 và mục nhập dbl vẫn ở đó được trỏ đến đúng IP, /etc/resolv.conf được sửa đổi lần cuối vào ngày 11/8/2012 và có vẻ đúng.
Anthony Fornito

Được rồi ... còn cái này thì sao? Từ bên trong MySQL: use mysql; select user,host,password from userĐiều này có thể tiết lộ một sự thay đổi trong máy chủ lưu trữ rằng 'dbuser' của người dùng được phép truy cập db từ đó. Các nguyên nhân tiềm năng là hữu hạn, nên có thể xác định điều này. Tôi sẽ đưa ra một kiểm tra nhanh trên /etc/nsswitch.conf nhưng tập tin đó bị che khuất trong những ngày này và vì vậy khả năng nó thay đổi là rất thấp, nhưng nó đáng để kiểm tra (nó kiểm soát thứ tự giải quyết mọi thứ hệ thống).
Jason Jigakowski
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.