Я только что перенес веб-сайт Drupal 8 на новый сервер на AWS (разработка велась на Pantheon). У меня возникла проблема с загрузкой файлов и изображений, которой не было на сервере разработки. Кажется, это происходит везде, где файл может быть загружен, например, в media / add, в виджете загрузки изображений на WYSIWYG и в других местах, например, при загрузке нового значка для темы.
Когда я пытаюсь для загрузки я получаю либо ошибку ajax (ответ 500) для тех полей, которые используют ajax, либо прямую ошибку 500 для тех, которые этого не делают:
The website encountered an unexpected error. Please try again later.
в журналах Drupal (и php журнал ошибок сервера), при каждой попытке загрузить файл отображаются две ошибки:
Drupal\Core\Entity\EntityStorageException: The file "/tmp/phpx8HXjP" does not exist in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 846 of /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).
и
Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException: The file "/tmp/phpx8HXjP" does not exist in Symfony\Component\HttpFoundation\File\File->__construct() (line 37 of /var/www/html/vendor/symfony/http-foundation/File/File.php).
Когда я пытаюсь загрузить файл, file действительно попадает в каталоги tmp и files. Но он не отображается в таблице базы данных file_managed и, следовательно, не отображается в списке файлов в CMS и вызывает ошибку.
Проверки, выполненные на данный момент:
Моя папка tmp, похоже, настроена правильно (она находится в / tmp, имеет правильного владельца и разрешения, а правильный каталог указан в настройках файловой системы), как и каталог файлов и подкаталоги.
Я также проверил параметры post_max_size и upload_max_filesize в php .ini установлены на 30 МБ (все файлы, которые я тестировал, имеют размер менее 10 МБ). open_basedir закомментирован.
Я немного озадачен - у кого-нибудь есть идеи? Может ли это быть проблемой БД? Я импортировал базу данных из разработчика, используя модуль backup_migrate.
Любые указатели очень ценятся.