php-fpm trả lại phản hồi trống cho nginx


9

nginx đang kết nối với php-fpm qua fastcgi, sử dụng tiêu chuẩn /etc/nginx/fastcgi_paramstrong khối vị trí.

Khi kết nối với /.status (php-fpm.ini :: ping.path) từ dòng lệnh với cgi-fcgi -bind, kết quả sẽ trở lại như mong đợi (bộ X-Powered-By, thân phản hồi, v.v.).

Khi yêu cầu với nginx, kết quả sẽ trống (bộ X-Powered-By, không có chiều dài cơ thể hoặc nội dung). nginx trả về 200, vì nó nhận được phản hồi "hợp lệ".

Theo dõi tcpdump, tôi đã tách các yêu cầu ngang giá trong các tiêu đề FCGI của họ (trừ các biến env liên quan đến người dùng vẫn được đặt bởi trình bao.)


Hãy thử thay đổi để người dùng nginx chạy và chạy lại bài kiểm tra cgi-fcgi -bind.
Một số Linux Nerd

Tôi luôn làm hỏng việc triển khai NRPE bằng cách kiểm tra chúng như root ... hình dung bạn có thể đã làm như vậy.
Một số Linux Nerd

Câu trả lời:


11

Tệp tiêu chuẩn factcgi_paramskhông chứa dòng khóa cho SCRIPT_FILENAME.

location ~ \.php$ {
                include fastcgi_params;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}

Thêm nó và khởi động lại nginx.


4

Vâng, câu hỏi của bạn là một chút mơ hồ. Một cái gọi là màn hình trắng của Tử vong (WSOD) có thể được kích hoạt bởi vô số thứ. Nhưng một số điều tôi làm nếu gặp phải điều này:

  • Kích hoạt các mục sau trong php.ini:

    display_errors = 1
    display_startup_errors = 1
    error_log = /path/to/file
    error_reporting = -1 ; (the -1 activates absolutely everything)
    log_errors = 1
    
  • Kích hoạt trong php-fpm.conf:

    error_log = /path/to/file
    
  • Kích hoạt cho từng cấu hình nhóm php-fpm:

    catch_workers_output = 1
    
  • Lặp lại yêu cầu của bạn và kiểm tra tất cả các nhật ký (bao gồm nhật ký lỗi nginx)
  • Tăng mức ghi nhật ký (ví dụ: gỡ lỗi trên nginx)

Nếu không có gì giúp bạn khắc phục được sự cố thì vui lòng đăng thông tin và cấu hình hệ thống hoàn chỉnh của bạn. Không ai có thể cung cấp cho bạn một câu trả lời chính xác mà không có điều đó.

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.