При использовании новой установки Drupal 7.10 я установил каталог для публичных загрузок в sites/uploads
.
Когда я затем добавляю изображение в экземпляр контента, я загружаю оригинал, sites/example.org/files/imagename.png
как и ожидалось. Тем не менее, другие изображения (миниатюры, средние и большие) не создаются в sites/example.org/styles/*
.
Каталог доступен для чтения и записи пользователем PHP5-FPM, поэтому не должно быть никаких проблем с разрешениями.
Почему это происходит? Как я могу это исправить?
Ответы:
Да, ответ на самом деле немного более тонкий, чем я предполагал. Оказывается, что
imagecache
замена D7 требует некоторого внимания в вашем nginx vhost. Без 404-х, отправляемых в Drupal за отсутствующими файлами, изображения не создаются - то, чего я изначально не осознавал, так как предполагал, что они были созданы при загрузке.Его нужно добавить к определению вашего сервера, и вы должны быть готовы к работе. Ясно, что путь может потребоваться изменить для вашей настройки, но для моей это было.
источник
Обязательно проверьте путь к публичной файловой системе и временный путь по адресу admin / config / media / file-system
После того, как обе эти папки установлены с правильными разрешениями, мои подпапки автоматически создаются при сохранении файла, сохранении изображения и исчезновении сообщения об ошибке :-)
источник
В моем случае проблема была вызвана тем, что изображения были получены с использованием https,
Я добавил следующие строки в настройках защищенной страницы, чтобы игнорировать https на пути к файлам.
*/files/*
Надеюсь, это кому-нибудь поможет. :)
источник
Хотя вы и говорите, что проверили разрешения, я все равно с этого и начну, поскольку у меня часто возникала эта проблема, и почти всегда это была проблема с разрешениями.
Общий совет: Прежде всего, зайдите в admin / config / media / file-system и нажмите «Сохранить конфигурацию». Это заставит Drupal переоценить разрешения установленных каталогов и выдаст вам сообщения об ошибках, если обнаружит проблему.
Второе: я предполагаю, что у вас есть apache, www-data или другие пользователи, которые владеют веб-сервером, а не пользователем php? В системе Linux или Mac sudo этому пользователю. Попытка написать файл с правами пользователя - лучший способ убедиться, что у вас есть необходимые права. Перейдите на сайты / domain.com / files / и вызовите «echo data> new_file; cat new_file;» в терминале. Это проверит, что вы действительно можете писать в каталог записи. Сделайте то же самое с вашим TMP DIR. Надеюсь, кто-то еще может предложить, как выполнить те же действия в системе, такой как Windows.
Третье: чтобы исключить права доступа к каталогу, рекурсивно примените 777 к каталогу файлов. Вы можете восстановить более разумные разрешения впоследствии с
В-четвертых: убедитесь, что каталог tmp имеет полные разрешения.
Пятое. Возможно, вам придется начать отладку кода, если вы уже поняли его.
источник
Чтобы завершить ответ Letharion, вот метод, который я использовал для создания эскизов, средних ... стилей изображения.
Я уточнил, что сначала проверил все пункты, перечисленные выше, безрезультатно.
Затем (в ОС Linux) я отредактировал /usr/local/etc/suphp.conf, чтобы изменить umask на php , чтобы он мог создавать файлы и каталоги с максимальным разрешением 755 (максимум на 744).
И это окончательно решило проблему. :)
источник
Я на Drupal 8.0.3.
В моем случае эта папка не создается при установке.
Поэтому я поставил его, скопировав более старую версию установки Drupal.
Все изображения, включая миниатюры, средние и большие, теперь отображаются.
источник
Проверьте ваш файл .htaccess в корневом каталоге и каталоге файлов. Замените новым файлом .htaccess, если требуется
источник