0

遇到了一个非常复杂的问题,几乎没有什么信息。好的,我有一个人们可以将文件上传到的站点,然后这些文件经过 base 64 编码并发送到另一个站点。第二个站点保存文件,然后为该文件添加数据库记录。在这个过程中的某个地方,大约八分之一的文件丢失了所有内容。

这个系统已经上线大约5个月了,这个错误是上个月才出现的,恰逢服务器搬家。这些文件没有任何共同之处,例如扩展名或源代码,随着时间的推移没有任何意义,并且没有记录任何 php 错误。我有失败文件的副本,当我尝试上传它们时,它们工作正常。

第一个站点不会让空白文件通过,所以它必须发生在第二个站点中,我相信也许我错过了导致这种情况的 php 配置选项。只是为了彻底起见,这里是保存文件的代码:

$fileName = time() . ($id->count + 1) . '-' . $this->post['jobId'] . $this->post['fileType'];
file_put_contents(DIR_TMP . "cvs" . DS . $fileName, base64_decode($this->post['cv']), FILE_APPEND);

有问题的服务器是 Linux CentOS 6 64 位。

所以总而言之,这个问题是在服务器移动后开始的,只影响大约 1/8 的文件,并且有问题的文件不会一直失败。文件扩展名或时间没有模式(我没有看到同时处理多个文件,所以我不认为服务器超载)并且没有记录 php 错误。

任何帮助将不胜感激,尽管工作很少!

4

1 回答 1

0

好的,找到了答案,最终设法跟踪文件所采用的路线,并且它们来自该站点的先前版本。这个故事的寓意是在处理一个带有白标签的网站时,请记住该网站的哪个版本在哪里!

于 2013-07-21T19:44:19.983 回答