php-fpm nginx'e boş yanıt döndürüyor


9

nginx, /etc/nginx/fastcgi_paramsyer bloğundaki standardı kullanarak fastcgi üzerinden php-fpm'ye bağlanıyor .

Komut satırından /.status'a (php-fpm.ini :: ping.path) bağlanırken cgi-fcgi -bind, sonuç beklendiği gibi geri döner (X-Powered-By set, yanıt gövdesi, vb.).

Nginx ile istekte bulunulduğunda, sonuç tekrar boş olur (X-Powered-By seti, vücut uzunluğu veya içeriği yok). "geçerli" bir yanıt aldığı için nginx 200 değerini döndürür.

Tcpdump'ı izlerken, FCGI başlıklarında parite isteklerini izole ettim (eksi kullanıcıyla ilgili env değişkenleri hala kabuk tarafından ayarlandı.)


Kullanıcı olarak nginx çalışır olarak değiştirmeyi deneyin ve cgi-fcgi -bind testini yeniden çalıştırın.
Bazı Linux Nerd

NRPE dağıtımlarını her zaman root olarak test ederek berbat ederim ... aynı şeyi yapmış olabileceğinizi düşündüm.
Bazı Linux Nerd

Yanıtlar:


11

Standart factcgi_paramsdosya için anahtar satır içermiyor 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;
}

Ekleyin ve nginx'i yeniden başlatın.


4

Sorunuz biraz belirsiz. “Beyaz ölüm ekranı” (WSOD), sonsuz miktarda şey tarafından tetiklenebilir. Ama bununla karşılaşırsam bazı şeyler yaparım:

  • Şunlarınızda aşağıdakileri etkinleştirin 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
    
  • Etkinleştir php-fpm.conf:

    error_log = /path/to/file
    
  • Her php-fpm havuz yapılandırması için etkinleştirin:

    catch_workers_output = 1
    
  • İsteğinizi tekrarlayın ve tüm günlükleri kontrol edin (nginx hata günlüğü dahil)
  • Günlük kaydı düzeyini artırın (örneğin, nginx'te hata ayıklama)

Bunların hiçbiri sorunu saptamanıza yardımcı olmazsa, lütfen tüm sistem bilgilerinizi ve yapılandırmalarınızı gönderin. Hiç kimse size bu olmadan kesin bir cevap veremez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.