Друзья,
Я установил chroot-jail с nginx и phpfpm 7.4 с сайта packages.sury.org/php, как обычно (в Debian 5.10.103-1 Bullseye).
Imagemagick терпит неудачу:
<?php $im=new Imagick(__DIR__ . '/image.png');
Uncaught ImagickException: NoDecodeDelegateForThisImageFormat `PNG' @
ошибка/constitute.c/ReadImage/575
<?php phpinfo()
«Количество поддерживаемых форматов ImageMagick: 0»
Установленная версия: php7.4-imagick 3.6.0-4+0~20220117.35+debian11~1.gbp149f82
Я подозреваю некоторую проблему с chroot, но на самом деле модули PHP загружаются основным процессом PHP и не требуют каких-либо библиотек в тюрьме chroot. гдлиб работает. Из командной строки imagick работает как положено, поэтому я полагаю, что все необходимые библиотеки установлены. Дважды проверил джейл с правильно работающим джейлом на Debian buster, не нашел существенных отличий.
Никогда не испытывал этого раньше. Любые подсказки?
Обновлять
Заметил дополнительную проблему, которая может быть связана:
<?php система("/usr/bin/id)";
Код результата: -1 error_get_last() -> Массив (
[тип] => 2
[сообщение] => system(): невозможно разветвить [/usr/bin/id]
[файл] => /htdocs/test.php
[строка] => 198 )
Когда я меняю root из командной строки с помощью chroot --userspec=myphpfpmuser ...
команда /USR/бен/идентификатор
возвращает правильный идентификатор пользователя. Процесс fpm выполняется от имени этого пользователя.
$ улимит -а
неблокирующее время в реальном времени (микросекунды, -R) неограниченно
размер основного файла (блоки, -c) 0
размер сегмента данных (кбайт, -d) не ограничен
приоритет планирования (-e) 0
размер файла (блоки, -f) не ограничен
ожидающие сигналы (-i) 256246
макс. заблокированная память (кбайт, -l) 8205255
максимальный размер памяти (кбайт, -m) не ограничен
открыть файлы (-n) 1024
размер канала (512 байт, -p) 8
Очереди сообщений POSIX (байты, -q) 819200
приоритет реального времени (-r) 0
размер стека (кбайт, -с) 8192
время процессора (секунды, -t) не ограничено
максимальное количество пользовательских процессов (-u) 256246
виртуальная память (кбайт, -v) не ограничена
блокировка файлов (-x) не ограничена
У кого-нибудь есть идеи?