SO a de nombreux articles mentionnant ce code d'erreur:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream...
Cela signifie probablement que ce message d'erreur est plus ou moins inutile.
Le message nous dit que le gestionnaire FastCGI n'aime pas ce qu'il a été envoyé pour une raison quelconque. Le problème est que, parfois, nous n'avons aucune idée de la raison.
Je répète donc la question - Comment pouvons-nousdebugce code d'erreur?
Considérons le cas où nous avons un site très simple, avec juste le fichier phpinfo.php. En outre, il existe une configuration nginx très simple, comme suit:
server {
server_name testsite.local;
root /var/local/mysite/;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass fastcgi_backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Comment pouvons-nous voir la sortie/enregistrer exactement ce que fastcgi_params a envoyé au script?
Comment pouvons-nous voir le message d'erreur réel? Dans mon cas, j'utilise php-fpm. Il n'y a aucune information dans le journal à propos de cette erreur. Les journaux n’ajoutent aucune ligne pour cette erreur. Existe-t-il un mode prolixe pour php-fpm?
/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
J'ai essayé de définir cela dans le fichier php-fpm.conf
log_level = notice
et ceci dans le fichier php-fpm.d/www.conf:
catch_workers_output = yes
définissez l'entrée access.log:
access.log = /var/log/$pool.access.log
redémarrez le service php-fpm.
essayez d'accéder à votre page
cat /var/log/www.access.log, vous verrez des journaux d'accès comme:
- - 10/Nov/2016:19:02:11 +0000 "GET /app.php" 404
- - 10/Nov/2016:19:02:37 +0000 "GET /app.php" 404
si vous voyez "GET /" sans un nom de fichier php correct, alors c'est votre problème avec nginx conf.
si vous voyez "GET /app.php" avec 404, cela signifie que nginx transmet correctement le nom du fichier de script mais que php-fpm n'a pas pu accéder à ce fichier dossier qui m’a piégé pendant 3 heures)
J'espère que ma réponse aide.
Vérifiez la position de root et l'existence du fichier qui s'y trouve. J'ai rencontré cette erreur à cause du chemin d'accès Root TYPO.