Configuration nginx Avec violation php et pseudonyme après la mise à jour

J'ai configuré l'accès au répertoire local via le support nginx alias + php:

[url=https://mydomain.de/wbg]https://mydomain.de/wbg[/url]

Indique sur

/var/www/wallabag

. Tout a fonctionné bien pendant que je ne remplissais pas la mise à jour habituelle. apt-get update && apt-get upgrade sur le serveur (Travaille sur debian 8). Maintenant que j'ouvre le site, je n'obtiens que le "fichier d'entrée n'est pas spécifié." C'est ce qu'il dit nginx:

2016/02/20 13:07:14 [error] 4376#0: *1 FastCGI sent in stderr: "Unable to open primary script: /var/www/wallabag/index.php/wbg/index.php (No such file or directory)" while reading response header from upstream, client: 78.50.228.24, server: mydomain.de, request: "GET /wbg/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "mydomain.de"

Ceci est une partie importante de ma configuration:

server {
server_name mydomain.de;

listen 443 ssl default_server;
listen [::]:443 ssl default_server;

# ssl configuration
# ...

root /var/www/html;

index index.php index.html index.htm index.nginx-debian.html;

location / {
# ...
}

location /wbg/ {
alias /var/www/wallabag/;

index index.php;

location ~ ^.+?\.php(/.*)?$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename$fastcgi_script_name;
}
}
}

Comment est-il possible que cette configuration se casse après la mise à jour? Et comment le réparer?

(version nginx - 1.6.2-5 + deb8u1 Après la mise à jour, php5-fpm: 5.6.17 + dfsg-0 + deb8u1)
Invité:

Christine

Confirmation de:

Une réponse simple est que le message d'erreur correspond à votre configuration dans le formulaire dans lequel il se trouve maintenant, donc je ne sais pas comment cela a fonctionné avant la mise à jour.

DANS

fastcgi_param SCRIPT_FILENAME $request_filename$fastcgi_script_name

La ligne génère une valeur

/var/www/wallabag/index.php/wbg/index.php

car:

$request_filename    = /var/www/wallabag/index.php
$fastcgi_script_name = /wbg/index.php

Si vous n'utilisez pas les informations de chemin (c'est URI, Suivant

.php

) Vous pouvez simplifier la partie PHP de la configuration et simplement utiliser

$request_filename

. Sorte de:

location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}

Cependant, créer SCRIPT_FILENAME de URI Avec des informations sur le chemin que vous pouvez utiliser:

location ~ \.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^/wbg(.+\.php)(/.*)?$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Noter

fastcgi_split_path_info

Suppression

/wbg

Le préfixe est URI, Pour construire une valeur correcte pour SCRIPT_FILENAME.

Pour répondre aux questions, connectez-vous ou registre