最近有个客户突然找到我说:文件无法下载了。
我去生产环境一试,果然下载页面报错了,一边下载报错日志,一边思考bug产生原因。
最近做的事情只有一件,就是迁移的服务器环境和文件,从原本的windows环境换成了linux环境。
所以,我思考的几个可能:
1、数据库里的文件路径不对了,最大可能就是斜杠和反斜杠的问题。
2、文件目录乱码了,读取不到。
3、可能该客户的文件名字无法被转码。
逐一尝试:
换了个新账号,上传文件,下载文件,发现完全正常。
修改文件名字,用中文和特殊字符命名再重新上传下载,发现完全正常。
去目录比对正常的文件和异常的文件路径,发现完全正常。
查看数据库存储路径,格式也完全一致。
正当我毫无头绪准备下载数据在测试环境运行的时候,才想起我的日志还没看,查看日志定位,问题出在压缩文件的步骤,最后仔细检查了文件目录,发现了问题所在:
由于文件是我使用硬盘迁移过来的,文件的权限是root,无法被www用户压缩,所以应用因为权限不足压缩文件失败,最后把整个用户数据目录修改一下权限,就正常了。
这个事情告诉我们:日志好重要啊!