Предупреждение: imagesx() ожидает, что параметр 1 будет ресурсом, ноль задан в Drupal
3 ответа
В вашем GD отсутствует поддержка JPEG. Если вы устанавливаете PHP в docker env, вам нужно установить libjpeg-dev, libfreetype6-dev и
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
Если вы используете PHP в любой среде размещения, поговорите с вашим хостинг-провайдером. Моя выглядит
gd
GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.6.3
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.6.28
WBMP Support => enabled
XBM Support => enabled
Если, как и я, вы также сталкиваетесь с этой проблемой сPHP 7.4
, это то, что помогло мне решить эту проблему (нашел в комментариях к выпуску Drupal )
Настраивать :
- Докер сочиняет v3
- Drupal 9 загружается в контейнер php:7.4-apache
Решение :
Dockerfile для контейнера Drupal:
...
# installs lib dependencies
RUN apt-get update \
&& apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev
# configure and install gd with jpeg/freetype enabled
RUN docker-php-ext-configure gd --with-jpeg --with-freetype \
&& docker-php-ext-install gd
...
Проверка:
И, чтобы убедиться, что расширение правильно настроено и установлено, введите в оболочке контейнера следующее:
php -i
Найдите расширение gd:
gd
GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.10.4
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.6.37
WBMP Support => enabled
XBM Support => enabled
BMP Support => enabled
TGA Read Support => enabled
ЕслиJPEG Support => enabled
иFreeType Support => enabled
находятся в списке, вам должно быть хорошо идти :)
Использовать
RUN docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/
с php 7.4