gpt4 book ai didi

php - 丢失文件 - Elgg 和数据库

转载 作者:行者123 更新时间:2023-11-29 07:44:10 25 4
gpt4 key购买 nike

我正在尝试帮助一位 friend 修复他与 Elgg 开发的应用程序。我熟悉 PHP,但对 Elgg 完全陌生。

长话短说,有两个看似随机发生的主要问题:

  1. 有时(大约十分之一)用户会上传文件,然后文件就会消失。
  2. 以大约相同的速度(100 中的 1),即使文件成功显示在数据库中,有时甚至几周后,它仍然会消失。

我想过查看日志来尝试找到问题的根源,但有几十个人可以在任何给定时间使用它,并且有数百个文件(音频、图像、pdf、视频等)可以在任何一天上传,甚至不知道要寻找什么。

有什么更聪明的方法可以查明这个 Elgg 项目中这些看似随机的错误出了什么问题,或者有人知道可能是什么问题吗?

非常感谢您的帮助!

最佳答案

首先要做的是在服务器错误日志中查找错误和警告,例如:

cat path-to-your-error-log | grep Error

此类错误应该很少见,因此应该很容易缩小范围。

假设链接到文件的页面完好无损(因此实体正确存储在数据库中),则可能是文件太大,但应用程序未正确注册错误 - 检查 max_file_size php.ini 并查找问题与文件大小之间的相关性。此类错误应该显示在服务器错误日志中。

我们过去也遇到过文件系统错误或文件权限更改的问题,即使文件最初上传成功,也无法访问文件。确保文件本身确实存在并且 Elgg 数据目录中的权限良好。如果不是,请修复磁盘。此类错误可能仅显示为警告,因此更难发现。

大多数版本的 Elgg 可能出现的另一个问题是服务器时区发生变化,因为文件存储在根据其所有者的首次登录日期命名的目录中。如果服务器的时区发生变化,Elgg 不够聪明,无法知道目录结构也必须更改。您可以使用 date_default_timezone_set() 在 engine/settings.php 中显式设置时区。

关于php - 丢失文件 - Elgg 和数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com