我正在尝试保存 fastcgi 的输出,但似乎得到了空白输出。
如果用户请求文件/thumbnail/someuniquefilename.jpg
,并且文件存在,它应该直接提供该文件。如果不存在,它应该通过 fastcgi 使用自定义 GET 查询字符串获取它。所以,我现在有这样的情况:
location ~ ^/thumbnail/ {
root /var/www/html;
expires 24h;
error_page 404 = @fetchthumbnail;
}
location @fetchthumbnail {
fastcgi_pass php;
fastcgi_store on;
fastcgi_store_access user:rw group:rw all:r;
fastcgi_temp_path /var/www/temp;
fastcgi_param SCRIPT_NAME /var/www/html/thumbnailer.php;
fastcgi_param QUERY_STRING src=/actual/path/$request_filename;
}
但结果我似乎得到了一张空白页。
响应标头:
Accept-Ranges:bytes
Cache-Control:max-age=86400
Connection:keep-alive
Content-Length:0
Content-Type:image/jpeg
Date:Sat, 29 Mar 2014 09:11:30 GMT
ETag:"53368d3d-0"
Expires:Sun, 30 Mar 2014 09:11:30 GMT
Last-Modified:Sat, 29 Mar 2014 09:07:09 GMT
Server:nginx/1.4.5
我做了一些额外的测试。看来 thumbnailer.php 实际上并未运行。因此,响应为空白。
错误日志仅显示thumbnail/someuniquefilename.jpg
未找到,因为它实际上不存在(或试用后被删除)。
答案1
显然SCRIPT_FILENAME
不是SCRIPT_NAME
。