错误 28105#0:*1 FastCGI 在标准错误中发送:“主要脚本未知”,同时从上游读取响应标头
Posted
技术标签:
【中文标题】错误 28105#0:*1 FastCGI 在标准错误中发送:“主要脚本未知”,同时从上游读取响应标头【英文标题】:error 28105#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream 【发布时间】:2015-07-07 01:16:56 【问题描述】:我无法正确配置 nginx
和 php-fpm
。当我得到任何 php 脚本时,我在浏览器中得到 Nginx 404 Not found
错误:
File not found.
在我的 php-fpm 日志中,我得到:
172.17.42.1 - 28/Apr/2015:09:15:15 +0000 "GET /index.php" 404
对于任何 php 脚本调用和 Nginx 日志我得到:
[error] 28105#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.168.66.66:9000", host: "localhost"
我的 Nginx 虚拟主机配置是:
server
listen 80;
root /var/www/html;
index index.html;
server_name localhost;
location /
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
location ~* \.php$
fastcgi_index index.php;
fastcgi_pass 127.168.66.66:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
我有来自official php repository 的旋转 php-fpm Docker 映像,由以下人员运行:
docker run -it -p 127.168.66.66:9000:9000 php:fpm
docker ps
命令显示下一个信息:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dbf9f7d1c6f9 php:fpm "php-fpm" 8 seconds ago Up 7 seconds 127.168.66.66:9000->9000/tcp serene_curie
我的配置有什么问题?
附:任何静态文件(css、js、图像)都可以在 Nginx 上运行。
【问题讨论】:
对不起各位!我不知道我也必须将我的文件共享到我的 php:fpm docker 容器。我认为它必须在没有共享的情况下工作。答案是使用卷运行 docker 镜像:docker run -it -p 127.168.66.66:9000:9000 -v /var/www/html/:/var/www/html/ php:fpm
我遇到了和你一样的问题。我在 centos 7 上使用 PHP 5.6.8 (fpm-fcgi) 进行了新设置(构建时间:2015 年 4 月 16 日 14:45:51 ) 我所有的配置都设置正确,但我找不到文件。你是否设法找到罪魁祸首,因为更改要执行的脚本的 fastcgi_param 不起作用,我已经尝试了多个参数。
@oOo--STAR--oOo 我修好了。我忘记将我的文件共享到容器中,并且 fpm 抛出此错误
【参考方案1】:
另外,还需要将文件共享到php:fpm
docker 容器。答案是运行 docker php:fpm
image with volume:
docker run -it -p 127.168.66.66:9000:9000 -v /var/www/html/:/var/www/html/ php:fpm
【讨论】:
以上是关于错误 28105#0:*1 FastCGI 在标准错误中发送:“主要脚本未知”,同时从上游读取响应标头的主要内容,如果未能解决你的问题,请参考以下文章
Nginx、FastCGI 和 Django 连接被拒绝错误
nginx运行出现 file not found 错误处理原因
iis7.0 发生未知 FastCGI错误,错误代码 0x8007010b 的解决办法