Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 缺少文件-Elgg和数据库_Php_Mysql_Database_Elgg - Fatal编程技术网

Php 缺少文件-Elgg和数据库

Php 缺少文件-Elgg和数据库,php,mysql,database,elgg,Php,Mysql,Database,Elgg,我正试图帮助一位朋友修复他与Elgg一起开发的应用程序。我熟悉PHP,但对Elgg完全陌生 长话短说有两个主要问题似乎是随机发生的: 用户有时(大约100分之一)上传文件,然后文件消失 即使一个文件成功地显示在数据库中,有时甚至几周后,它仍然会以大约相同的速率(100个文件中的1个)消失 我想通过查看日志来找出问题的根源,但在任何给定的时间都有几十个人可以使用它,并且在任何给定的日期都可以上传数百个文件(音频、图像、pdf、视频等),甚至不知道要查找什么 在这个Elgg项目中,找出这些看似随机的

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

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

  • 用户有时(大约100分之一)上传文件,然后文件消失
  • 即使一个文件成功地显示在数据库中,有时甚至几周后,它仍然会以大约相同的速率(100个文件中的1个)消失
  • 我想通过查看日志来找出问题的根源,但在任何给定的时间都有几十个人可以使用它,并且在任何给定的日期都可以上传数百个文件(音频、图像、pdf、视频等),甚至不知道要查找什么

    在这个Elgg项目中,找出这些看似随机的错误到底出了什么问题的更聪明的方法是什么?或者有人对可能出现的问题有什么见解吗


    非常感谢你的帮助

    要做的第一件事是在服务器错误日志中查找错误和警告,例如:

    cat path-to-your-error-log | grep Error
    
    这样的错误应该很少见,所以缩小范围应该很容易

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

    我们过去也遇到过文件系统错误或更改文件权限的问题,这些问题甚至在文件最初成功上载后也阻止了对文件的访问。确保文件本身确实存在,并且Elgg数据目录中的权限正常。如果没有,请修复磁盘。这样的错误可能只显示为警告,因此很难找到

    大多数版本的Elgg可能出现的另一个问题是,如果服务器时区发生变化,因为文件存储在基于所有者第一次登录日期命名的目录中。如果服务器的时区发生了变化,Elgg就不知道目录结构也必须改变。可以使用date\u default\u timezone\u set()在engine/settings.php中显式设置时区