PHP-CGI bắt đầu phục vụ các trang trống


8

PHP-CGI của tôi bắt đầu phục vụ các trang trống mà không có lý do rõ ràng cho đến khi tôi khởi động lại quy trình.

Tôi muốn biết tại sao.

Thật không may, tệp cấu hình "sản xuất" của PHP không có error_log theo mặc định. Nhật ký lỗi Nginx của tôi cũng hiển thị không có lỗi liên quan đến PHP. Đây có lẽ là một trường hợp vô vọng, nhưng tôi chỉ hỏi trong trường hợp.

Đây là thiết lập của tôi

  • Nginx 0.8.2
  • PHP 5.2.6-3ubfox4.1 với Suhosin-Patch 0.9.6.2 (cli) (được xây dựng: ngày 23 tháng 4 năm 2009 14:37:14)
  • APC 3.0.19-2
  • spawn-fcgi v1.6.2 (ipv6) - trình bao bọc fastcgi từ lighttpd

Bất kỳ ý tưởng những gì có thể đã gây ra lỗi?

Cập nhật

Tôi nghĩ rằng tôi đã cô lập vấn đề. Tôi đã sử dụng Monit để tự động khởi động lại PHP bất cứ khi nào nó bắt đầu xóa. Nhật ký lỗi PHP của tôi trống.

Nhưng tôi đã nhận ra rằng nếu tôi vô hiệu hóa một plugin Wordpress có tên WP-SuperCache, PHP của tôi đã ngừng được thiết lập lại sau mỗi ~ 10 giờ. Cho đến nay PHP của tôi đã chạy được 3 ngày liên tục. Có ai có bất cứ đề nghị về điều này?

Câu trả lời:


2

Supercache tạo ra các phiên bản được lưu trong bộ nhớ cache đầy đủ của các trang, cũng như thực hiện một số bộ nhớ đệm nội bộ khác, có thể có một số vấn đề về thời gian trong các tình huống tải cao. Tôi sẽ kiểm tra thư mục bộ nhớ cache của bạn để đảm bảo nó không chứa các tệp trống. Nếu có, bạn có thể có một vấn đề khóa tập tin. Giải quyết vấn đề như vậy có thể khó khăn và có thể sẽ yêu cầu bạn mở một vé lỗi, vì đó có thể là vấn đề với chính mã.


1

bạn đã thử thực sự dừng dịch vụ fcgi và bắt đầu lại nó chứ không phải khởi động lại nó. tôi đã có những điều kỳ lạ tương tự xảy ra trong khi khởi động lại fcgi


1
Vấn đề không đến từ việc khởi động lại. Nó chỉ xảy ra một cách tự nhiên qua đêm khi tôi có một loạt khách truy cập từ một bãi chứa liên kết được gọi là Reddit.
Không biết

1

Kiểm tra trạng thái phản hồi của các yêu cầu của bạn nếu nó xảy ra lần nữa (ví dụ: curl -i) và nếu trạng thái không phải là 200, hãy kiểm tra các trang lỗi của bạn (cụ thể là một trong số các lỗi được hiển thị) và đảm bảo chúng không bị lỗi được thiết lập để chuyển hướng theo cách có thể gây ra một vòng lặp vô hạn.

Nếu trạng thái phản hồi là 200, hãy kiểm tra xem có bất kỳ văn bản nào trong phản hồi không phải là tiêu đề HTTP.


Tôi cho rằng tôi nên làm điều đó, nhưng tôi đã khởi động lại PHP để mọi người có thể xem trang. Tôi không thấy bất kỳ lỗi nào trong nhật ký máy chủ của tôi.
Không biết


1

Không phải là một câu trả lời, nhưng gợi ý - thay thế spawn-fcgi bằng php-fpm, nó có thể tùy chỉnh nhiều hơn.

Tái bút có thể bạn có chuyển hướng trang lỗi 50x đặc biệt trong nginx.conf

CẬP NHẬT: hôm nay tôi gặp vấn đề tương tự khi nginx + php bắt đầu phục vụ các trang trống. Nghiên cứu của tôi cho thấy rằng nó đã gửi trang trống bất cứ điều gì php đã tạo ra một ngoại lệ. Có thể đó là một loại lệnh php.ini để phân phát trống thay vì lỗi. Tôi nên kiểm tra nhật ký và vv ... lau.

CẬP NHẬT2: Hãy xem php.ini của bạn có 2 tham số mà bạn cần thay đổi để xem lỗi php:

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

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.