devAston
@devAston
Web developer

Как правильно настроить php.ini в Docker?

При обработке очереди в Laravel выбивает в логах ошибку:
[2019-08-08 09:49:44] local.ERROR: ImageMagick module not available with this PHP installation. {"exception":"[object] (Intervention\\Image\\Exception\\NotSupportedException(code: 0): ImageMagick module not available with this PHP installation. at /var/www/vendor/intervention/image/src/Intervention/Image/Imagick/Driver.php:20)
[stacktrace]
#0 /var/www/vendor/intervention/image/src/Intervention/Image/ImageManager.php(112): Intervention\\Image\\Imagick\\Driver->__construct()
#1 /var/www/vendor/intervention/image/src/Intervention/Image/ImageManager.php(54): Intervention\\Image\\ImageManager->createDriver()
#2 /var/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Intervention\\Image\\ImageManager->make('/var/www/public...')
...
#33 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(133): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#34 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#35 {main}

Один из методов задачи в очереди заключается в обработке изображения.
$invoice_file = 'fileName.png';
$outvoice_file = 'fileName.tiff';
...
$img = Image::make(public_path($invoice_file))->encode('tif'); // Тут возникает ошибка
$img->save(public_path($outvoice_file));

Как правильно настроить php.ini в Docker, для того, чтобы работали расширения из-под CLI режима?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
TheRikipm
@TheRikipm
Backend middle
Здесь можно увидеть что вам не обязательно модифицировать php.ini для установки расширения в Laradock. Просто в вашем.env файле замените

WORKSPACE_INSTALL_IMAGEMAGICK=false
На
WORKSPACE_INSTALL_IMAGEMAGICK=true

После чего заново постройте контейнер: docker-compose build.

P.S: Конкретно с imagemagick у laradock бывают какие-то проблемы (подробнее), если после перезапуска расширение не заработает попробуйте установить WORKSPACE_INSTALL_DUSK_DEPS=true и сделать apt-get updateвнутри контейнера
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект