还有很多其他问题指的是x-sendfile没有返回文件,但是它们似乎都无法解决我的问题。
我正在从站点公共根目录之外的目录提供图像,并希望能够以尽可能少的开销将这些图像传递给用户,因此我想避免使用readfile()处理它们。因此我试图使用x-sendfile。
我的开发环境包括64位Windows上的XAMPP(apache和php)安装。我正在使用mod_xsendfile.so的64位windows二进制文件,它似乎是根据phpinfo()正确加载的。
我认为这可能是区分大小写或反斜杠/前锋的问题,但似乎并非如此。
该文件确实存在,如果我将路径复制出错误日志并将其粘贴到资源管理器窗口中,则会加载图像。我还使用了file_exists和filesize来验证php中的路径。
httpd.conf设置:
expr
PHP代码
arg
错误日志条目
return a[row_min][size];
有关如何获取这些文件的任何见解都会很棒。
答案 0 :(得分:0)
原来是区分大小写。路径中的c必须是大写字母C.
XSendFilePath C:/images-store/
我应该切换回linux进行开发......