I'm doing development using a copy of our database but not a copy of the whole moodle files. I am not able to upload files that already "exist". For example, the Annotate PDF feedback type, I would like to upload the images for the tick mark, the cross
etc, but I can't do it because the use of content hashes to ensure uniqueness means that moodle believes the file is unchanged and won't upload it even though it is missing. At least that's my guess what is going on.
This goes for a lot of files that we use when doing testing, such as uploading test PDF assignments and things.
The weirdest thing is that I can download these files from the drag-and-drop interface. How can I download them if they are not there.
The file actually does not exist. It is not corrupt, just missing. But I cannot replace it. All permissions on the directories in dataroot appear to be okay. Apache owns everything and it is all writable to apache. SELinux is turned off.
[13-Aug-2020 15:29:08 America/Los_Angeles] PHP Warning: readfile(/local/moodle/filedir/f5/fe/f5fe5f1487ff68fd970759899a1efa869a49d62b): failed to open stream: No such file or directory in /var/www/ssl/moodle/lib/filelib.php on line 2103 [13-Aug-2020 15:29:08 America/Los_Angeles] Default exception handler: Cannot read file '33957e31ba9c763a74638b825f0a9154acf475e1'. Either the file does not exist or there is a permission problem. Debug: Error code: storedfilecannotreadfile * line 68 of /lib/filestorage/file_system.php: file_exception thrown * line 444 of /lib/filestorage/stored_file.php: call to file_system->readfile() * line 2255 of /lib/filelib.php: call to stored_file->readfile() * line 2523 of /lib/filelib.php: call to readfile_accel() * line 2668 of /lib/filelib.php: call to send_file() * line 88 of /draftfile.php: call to send_stored_file()