PHP-CGI saya mulai melayani halaman kosong tanpa alasan yang jelas sampai saya memulai kembali proses.
Saya ingin tahu alasannya.
Sayangnya file konfigurasi "produksi" PHP tidak memiliki error_log secara default. Log kesalahan Nginx saya juga tidak menampilkan kesalahan yang berkaitan dengan PHP. Ini mungkin adalah kasus tanpa harapan, tetapi saya bertanya untuk berjaga-jaga.
Ini pengaturan saya
- Nginx 0.8.2
- PHP 5.2.6-3ubuntu4.1 dengan Suhosin-Patch 0.9.6.2 (cli) (dibangun: 23 Apr 2009 14:37:14)
- PHP APC 3.0.19-2
- spawn-fcgi v1.6.2 (ipv6) - pembungkus fastcgi dari lighttpd
Adakah ide yang mungkin menyebabkan kesalahan?
Memperbarui
Saya pikir saya sudah mengisolasi masalahnya. Saya telah menggunakan Monit untuk secara otomatis me-restart PHP setiap kali ia mulai kosong. Log kesalahan PHP saya kosong.
Tetapi saya menemukan bahwa jika saya menonaktifkan plugin Wordpress yang disebut WP-SuperCache, PHP saya berhenti disetel ulang setiap ~ 10 jam. Sejauh ini PHP saya sudah berjalan selama 3 hari berturut-turut. Adakah yang punya saran tentang ini?
Periksa status respons permintaan Anda jika itu terjadi lagi (mis., Curl -i) dan jika statusnya tidak 200, periksa halaman kesalahan Anda (khususnya yang untuk nomor kesalahan yang ditampilkan) dan pastikan tidak atur ke redirect dengan cara yang dapat menyebabkan infinite loop.
Jika status responsnya 200, periksa apakah ada teks dalam respons selain header HTTP.
sumber
Ini adalah masalah umum, hal terbaik yang dapat Anda lakukan adalah memulai kembali spawn-fcgi setiap malam dan perhatikan log kesalahan Anda. Program python logwatch kecil yang akan me-restart php Anda dapat ditemukan di sini.
http://hostingfu.com/article/keeping-your-php-fastcgi-processes-alive
sumber
Bukan jawaban, tetapi saran - ganti spawn-fcgi dengan php-fpm lebih dapat disesuaikan.
PS. mungkin Anda memiliki redirect halaman kesalahan 50x khusus di nginx.conf
UPD: hari ini saya mengalami masalah serupa ketika nginx + php mulai melayani halaman kosong. Penelitian saya menunjukkan bahwa ia mengirim halaman kosong apa pun yang dilemparkan oleh php. Mungkin itu semacam arahan php.ini untuk melayani kosong, bukan kesalahan. Saya harus memeriksa log dan lain-lain ... menghapus.
UPD2: Lihatlah php.ini Anda ada 2 parameter di dalamnya yang perlu Anda ubah untuk melihat kesalahan php:
sumber
Klausa "spontan terjadi dalam semalam" terdengar menarik ... mungkinkah tuan rumah Anda mulai menambahkan header status tambahan untuk semua lalu lintas? Jika demikian, Anda mungkin melihat bug ini:
Joomla! php, FastCGI, halaman kosong dan duplikat 'Status'
sumber