Sickboy
Müßiggänger
Hallo,
ich habe unter FreeBSD 10 einen nginx mit FPM laufen. Dabei nutze ich mehrere Verzeichnis: einmal /var/www und jeder Benutzer kann in ~/public_html Dateien bereitstellen. Soweit so gut, leider bekomme ich FPM nicht überredet, PHP-Skripte in ~/public_html auszuführen. Wenn ich FastCGI für ~/public_html konfiguriere, findet FPM den Pfad zur PHP-Datei nicht und wirft einen 404. Wie muss "fastcgi_param SCRIPT_FILENAME" für ~/public_html korrekterweise aussehen?
/usr/local/etc/nginx/nginx.conf:
Mein (nicht funktionierender) Versuch:
ich habe unter FreeBSD 10 einen nginx mit FPM laufen. Dabei nutze ich mehrere Verzeichnis: einmal /var/www und jeder Benutzer kann in ~/public_html Dateien bereitstellen. Soweit so gut, leider bekomme ich FPM nicht überredet, PHP-Skripte in ~/public_html auszuführen. Wenn ich FastCGI für ~/public_html konfiguriere, findet FPM den Pfad zur PHP-Datei nicht und wirft einen 404. Wie muss "fastcgi_param SCRIPT_FILENAME" für ~/public_html korrekterweise aussehen?
/usr/local/etc/nginx/nginx.conf:
Code:
http {
include mime.types;
default_type application/octet-stream;
[...]
server {
listen 80;
server_name localhost;
root /var/www;
location / {
index index.html index.htm index.php;
try_files $uri $uri/;
}
location ~* \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
location ~ ^/~(.+?)(/.*)?$ {
alias /home/$1/public_html$2;
}
[...]
}
Mein (nicht funktionierender) Versuch:
Code:
location ~ ^/~(.+?)(/.*)?(.+\.php)$ {
alias /home/$1/public_html$2;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/$1/public_html$2$3;
fastcgi_pass unix:/var/run/php-fpm.sock;
}