By东关

php站点出现FastCGI sent in stderr: “Primary script unknown”
2021-02-05

有时候nginx错误日志里面显示这个报错,很烦。

2017/03/16 10:57:36 [error] 1751#0: *167548 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 183.82.0.15, server: www.crowncredit.cn, request: “GET /phpMyAdmin/scripts/setup.php HTTP/1.1”, upstream: “fastcgi://192.168.1.11:9000”, host: “192.168.1.116”

显示找不到GET的东西。

在Nginx配置文件中找到定义调用脚本文件的地方,如:

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

修改成如下方式($document_root):

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

$document_root 代表当前请求在root指令中指定的值。如

location ~ ^.+.php {

root           /usr/html;

fastcgi_index  index.php;

fastcgi_pass 192.168.1.11:9000;

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

include        fastcgi_params;

}

上面配置中的$document_root就是针对/usr/local/nginx/html目录下的php文件进行解析。

如果还没有解决,就在location ~ ^.+.php  下面加

try_files      $uri =404;

意思是解析php先返回404,然后再进行下面解析。

配置好了 nginx.conf 和 php7.0-fpm.conf 文件,但是要访问 php 文件的时候,却不显示任何内容或者显示“File not found”,问题在于要访问的 php 文件 php7.0-fpm 没有访问权限,修改下访问权限即可。

因此要使得 nginx 对 php7.0-fpm.sock 文件有读写权限,就需要将 php-fpm.conf 中的 listen.group 和 listen.user 改为 同一组下,不然会报错的。nginx组别在nginx.conf  user

你必须 登录 才能发表评论.

  • 还没有人留下脚印噢,快来踩踩叭