2013-04-13 28 views
7

Tôi có một ứng dụng tương tác với cơ sở dữ liệu. Đột nhiên và đôi khi, các trang đang hiển thị cho tôi lỗi Server connection Reset trong trình duyệt web của tôi. Đáng ngạc nhiên hơn, truy cập trên trang localhost đang kích hoạt cảnh báo trên avast.Đặt lại máy chủ không mong muốn bằng php và apache

Nếu tôi làm mới trang bằng cách sử dụng Ctrl+R, thỉnh thoảng điều này xảy ra. PHP không hiển thị bất kỳ thông báo lỗi nào và có vẻ như máy chủ đang dành nhiều thời gian hơn để phản hồi hơn bình thường.

Tôi đang sử dụng wamp với apache 2.4, PHP 5.4.3. Tôi không biết làm sao để bắt đầu gỡ lỗi hoặc ở đâu để giải quyết vấn đề.

[Sun May 13 13:01:14 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache] 
[Sun May 13 13:01:14 2012] [notice] Apache/2.2.22 (Win32) mod_ssl/2.2.22 OpenSSL/0.9.8x configured -- resuming normal operations 
[Sun May 13 13:01:14 2012] [notice] Server built: May 13 2012 12:51:11 
[Sun May 13 13:01:14 2012] [notice] Parent: Created child process 3660 
Apache server interrupted... 
arn] Init: Session Cache is not configured [hint: SSLSessionCache] 
[Sun May 13 13:01:15 2012] [notice] Child 3660: Child process is running 
[Sun May 13 13:01:15 2012] [notice] Child 3660: Acquired the start mutex. 
[Sun May 13 13:01:15 2012] [notice] Child 3660: Starting 64 worker threads. 
[Sun May 13 13:01:15 2012] [notice] Child 3660: Starting thread to listen on port 80. 
[Sun May 13 13:01:15 2012] [notice] Child 3660: Starting thread to listen on port 80. 
[Sun May 13 13:01:28 2012] [notice] Parent: Received shutdown signal -- Shutting down the server. 
[Sun May 13 13:01:28 2012] [notice] Child 3660: Exit event signaled. Child process is ending. 
[Sun May 13 13:01:29 2012] [notice] Child 3660: Released the start mutex 
[Sun May 13 13:01:30 2012] [notice] Child 3660: All worker threads have exited. 
[Sun May 13 13:01:30 2012] [notice] Child 3660: Child process is exiting 
[Sun May 13 13:01:30 2012] [notice] Parent: Child process exited successfully. 

UPDATE:

Khi 'yêu cầu kết nối' xảy ra nếu là sử dụng cachegrind nó cho thấy phần danh sách các callstack của phương pháp. có nghĩa là nó không chạy tất cả các mã. nó đang hiển thị một số cuộc gọi require_once và nó. thời gian tới nếu tôi thử lại để có được trang, trang thực hiện và hiển thị toàn bộ callstack.

Khi 'yêu cầu kết nối xảy ra' nó cho thấy

18 different functions called in milliseconds (1 runs, 18 shown) 

sau khi thử lại

220 different functions called in 329 milliseconds (2 runs, 220 shown) 

Tôi không biết lý do tại sao nó được hiển thị 2 chạy. cũng phải mất nhiều thời gian hơn để thực thi trang. trước khi nó hoạt động dưới 100 ms.

+0

ghi nhật ký apache là gì? – mkjasinski

+0

avast như trong chương trình chống virus ?? crikey, thông điệp đó nói gì? – CodeMonkey

+0

@CodeMonkey có vi-rút chống vi-rút. nó đang nói 'url độc hại đã bị chặn' – varuog

Trả lời

0

để khởi động lại Apache qua PHP sử dụng mã sau trong PHP

exec('/etc/init.d/httpd graceful'); 

và cũng nhìn vào manual ... và thay đổi đường dẫn đến httpd bạn

+3

Op đang chạy WAMP. – nate

+2

và trên một mặt lưu ý nếu máy chủ của bạn cho phép bạn khởi động lại nó bằng cách gọi một kịch bản tùy ý mà thông thường cần phải được chạy bởi superuser từ bên trong nó, tôi sẽ rất sợ ..) – Doon

0

Thay đổi apache nghe cổng 80-8080 tập tin httpd.conf, thay đổi listen 80-listen 8080 và khởi động lại apache

0

Tái thử vô hiệu hoá temporarly các antivirus

0

Có lẽ nó không phải là một giải pháp đúng, nhưng tại sao không chỉ thử phiên bản WAMP khác hoặc có thể thiết lập đồng hồ hệ thống của bạn chính xác ?. Và bạn đã thử chạy Apache trong cấu hình tối thiểu chưa? Bạn có thể vô hiệu hóa tất cả các phần mở rộng và mô-đun (chính bản thân php) và nếu máy chủ web sẽ hoạt động như mong đợi, bạn có thể biến từng cái một mô-đun của bạn. Tôi không biết về môi trường của bạn nhưng bạn cũng có thể cố gắng thay đổi số chủ đề làm việc và các giá trị khác thành tối thiểu. Tôi đặt cược nó không giúp đỡ, nhưng ít nhất bạn sẽ cố gắng.

1
  1. Khởi động lại máy tính của bạn và đóng/vô hiệu hóa tất cả các ứng dụng đang chạy bao gồm chống vi-rút chỉ giữ một bộ ứng dụng đang chạy tối thiểu. Đóng tất cả mọi thứ ngay cả những ứng dụng mà bạn chắc chắn không thể can thiệp - bạn không bao giờ biết ..

  2. Hãy chắc chắn rằng PHP cho thấy tất cả các lỗi/cảnh báo:

    error_reporting(E_ALL); 
    ini_set('display_errors', '1'); 
    

Đảm bảo bạn xem tất cả các cảnh báo bạn nhận được từ PHP. Nó có thể cung cấp cho bạn một đầu mối.

  1. Cố gắng cách ly sự cố. Nhận xét một đoạn mã bạn nghi ngờ gây ra sự cố. Tiếp tục nhận xét cho đến khi dừng nhận lỗi. Sau đó bắt đầu uncommenting cho đến khi bạn tìm thấy một nơi có vấn đề. Bằng cách này bạn có thể cô lập một mã có vấn đề và một khi bạn nhìn thấy nó, bạn có thể hiểu được vấn đề.

  2. Thêm nhiều câu lệnh sẽ ghi vào tệp nhật ký (hoặc chỉ cần lặp lại). Sau đó, bạn có thể phân tích tệp nhật ký và hiểu tại thời điểm nào lỗi xảy ra giúp bạn tách biệt vấn đề ...

Cuối cùng bạn sẽ tìm thấy khối mã có vấn đề và sẽ có thể theo dõi sự cố. Hy vọng rằng :)

0

Nếu bạn đã bật mod_security, hãy thử vô hiệu hóa và xem điều tương tự có xảy ra hay không .. đôi khi bạn có thể có mod_security thận trọng sẽ chuyển sang http không thành công (đôi khi có thể đơn giản như chèn dữ liệu với dấu và cơ sở dữ liệu) và sẽ không ghi bất kỳ lỗi nào vào nhật ký máy chủ khiến cho việc khắc phục sự cố, âm thanh tương tự với những gì bạn đang gặp phải, tôi sẽ vô hiệu hóa máy chủ khởi động lại modem và xem liệu hành vi đã dừng chưa!

0

Dường như một số người khác đã gặp phải vấn đề tương tự sử dụng WAMP: Bạn đã trải qua mỗi điểm được liệt kê trong bài viết này thuộc về diễn đàn chính thức:

http://forum.wampserver.com/read.php?2,67660

0

Bạn có chắc chắn bạn không có vòng lặp bao gồm/yêu cầu?

Loại vòng lặp đó làm cho PHP ăn quá nhiều bộ nhớ và apache tự xóa nó để tránh nó.

Hoặc có thể một số loại lỗi vòng lặp 404 ... Loại vòng lặp đó có thể xảy ra nếu bạn gặp lỗi 404 đôi khi. Dưới đây là ví dụ:

Bạn có bố cục có hình ảnh bị thiếu, do đó, nó sẽ kích hoạt lỗi 404. Để hiển thị trang, lỗi 404 thêm bố cục xung quanh trang lỗi chứa hình ảnh bị thiếu, điều này sẽ kích hoạt một lỗi 404 khác.

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan