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, 之后问题解决.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现