NGINX 提示 "Primary script unknown" 错误

起因

我在home目录下打算安装thinkphp进行学习, 采用nginx作为web服务器, 遇到了错误, 记录如下.

具体的错误提示

在nginx 的错误日志 error.log 中提示如下:

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

翻译过来, 大致的意思是 从upsream中读取回应头时, 遇到主脚本未知错误.
即, 找不到主脚本, 在浏览器上也提示 File not fond.

原因

有两个可能:

  • 文件确实不存在
  • 文件(包括文件路径)权限不够, 读取不到文件.

我遇到的问题是因为 /home/yinchao 这个目录的权限是750, 而读取php 脚本的进程php-fpm 的运行者是 www-data(默认值). 所以, 没有读取权限, 所以文件找不到.

解决

  • 可以修改home目录的权限.
  • 也可以将安装thinkphp的安装目录换个地方.

我在 /var/www/html 下创建 test 的文件夹mkdir test, 然后修改用户所有者chown -R yinchao:yinchao test, 然后继续安装thinkphp, 之后问题解决.

posted @ 2024-09-30 13:17  yinchao_ws  阅读(0)  评论(0编辑  收藏  举报