Saya telah menghabiskan waktu berjam-jam mencari tahu cara menginstal Nginx + Ruby Enterprise Edition + PHP5-fpm dan MYSQL, akhirnya semuanya terinstal dan semua tampaknya sudah mulai baik-baik saja.
Tetapi karena suatu alasan file php tidak sedang diproses.
File .html berfungsi dengan baik, tetapi ketika saya mencoba dan melihat file .php sepertinya tidak ada, meskipun ada. Menariknya, ketika saya mencoba dan melihat file .html yang tidak ada saya mendapatkan pesan Nginx 404 yang bagus, tetapi ketika saya melihat file .php itu bahkan tidak memberi saya itu.
Jadi untuk pemahaman pemula saya, sepertinya ada sesuatu yang salah dengan konfigurasi, atau Nginx dan PHP-fpm tidak saling berbicara.
Saya telah melihat banyak contoh lain dari file konfigurasi nginx dan saya yakin bahwa banyak hal baik-baik saja. Baiklah ... ini sedikit relevan dari file conf:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name;
include fastcgi_params;
}
Dan
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
Setiap bantuan sangat dihargai.
sunting : Berikut adalah tajuk yang dikembalikan dari file uji php " http://eman.id.au/test.php ":
HTTP/1.1 404 Not Found =>
Server => nginx/0.8.54
Date => Thu, 16 Dec 2010 19:30:30 GMT
Content-Type => text/html
Connection => close
X-Powered-By => PHP/5.3.2-1ubuntu4.5ppa5~lucid1
Jika Anda melihat header http://eman.id.au/test.php merespons dengan maka Anda akan melihat
X-Powered-By: PHP/5.3.2-1ubuntu4.5ppa5~lucid1
. Itu tidak akan menampilkan ini jika permintaan tidak diteruskan ke PHP. Juga, jika PHP tidak dapat menemukan jalur file yang diteruskan ke sana, itu akan mengulang kesalahannyaNo input file specified.
Karena situs Anda menampilkan tajuk yang diberdayakan dan tidak memiliki
No input file specified.
kesalahan, alasan yang paling mungkin adalah bahwa Anda memiliki kesalahan dalam skrip PHP Anda dan membuat kesalahan tampilan dimatikan. Ini menghasilkan halaman kosong dan entri di log kesalahan Anda, jadi lihat di sana dan lihat apakah itu tidak mengisi.sumber
Beberapa pemikiran:
Apakah ini perlu tebasan ekstra
NGINX juga memiliki sedikit caching yang aneh, jadi ketika Anda mencoba URL di browser Anda, tambahkan? Random = 12391 di bagian akhir untuk memaksa penyegaran. Saya telah bingung selama 30 menit karena konfigurasi hanya untuk menemukan itu berfungsi selama ini tetapi saya sedang tersandung oleh cache.
Anda juga mungkin ingin keluar dari lokasi Anda sedikit lebih baik (walaupun ini tidak menyebabkan masalah yang Anda alami) Ini praktik yang lebih baik:
untuk
.php $ akan cocok dengan permintaan seperti yourpagephp daripada hanya yourpage.php
sumber