Nie mogłem znaleźć na to odpowiedzi. Zainstalowano PHP5 + NGINX + PHP-FPM i nie można uruchamiać plików php, pojawia się komunikat „Ups! To łącze jest uszkodzone”. błąd w CHROME. Nie mam żadnego cennego raportu dziennika błędów, mam plik index.php w katalogu głównym, próbowałem utworzyć niestandardowy plik phpinfo.php, żadne nie działało.
I DO może ładować pliki HTML, ale nie mogę PHP.
Oto konfiguracja mojej lokalnej witryny w NGINX:
server {
listen 80;
server_name im;
access_log /var/www/website/access.log;
error_log /var/www/website/error.log;
location / {
root /var/www/website;
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/website$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Zmieniłem własność całego katalogu na www-data: www-data, zrobiłem 777 w pliku php, nic. Zrestartowałem nginx, FPM, nic.
Wsparcie? :(
Odpowiedzi:
Chrome wyświetla własną stronę błędu, jeśli strona błędu ma mniej niż 512 bajtów.
Podejrzewam, że masz następujący wiersz
fastcgi_params
:a jeśli tak, ponieważ
root
dyrektywa jest zdefiniowana wlocation /
, nigdy nie będzie stosowanalocation ~ \.php$
, w ten sposóbSCRIPT_FILENAME
staje się URI.Można to rozwiązać, przenosząc
root
dyrektywę doserver
kontekstu poziomu:źródło
W moim przypadku brakowało pakietu php-zip. Aby to naprawić, uruchomiłem:
źródło
źródło
locations
. Czy linia idzie w jednym? Inny? Obie? Edytuj swoją odpowiedź, aby była kompletna.