Я изменил свой policy.xml, чтобы разрешить больший максимальный размер изображения. При запуске скрипта в командной строке:
$ php image.php
64000
Но потом, когда я загружаю его в браузер:
16000
Скрипт просто содержит:
<?php echo Imagick::getResourceLimit(9);
Как я могу применить ту же политику к обслуживаемому сценарию?
Редактировать: Ответить на несколько комментариев:
Таким образом, файл политики /etc/ImageMagick-6/policy.xml
расположен с find /usr /opt / -name policy.xml
. Сервер nginx, и это дроплет DigitalOcean, поэтому у меня полный контроль.
Я пытался установить лимит ресурсов как до создания экземпляра Imagick, так и после, оба возвращали один и тот же лимит 16000.
И запуск файла в командной строке, и браузер были выполнены только на сервере.
Вот мой скорректированный файл политики, я увеличил все это в том случае, если какой-либо из них вызывал ограничение. Максимальный размер файла для изображения составляет 2 ГБ и приблизительно 32000 пикселей при 300 точек на дюйм (это для печати):
<policy domain="resource" name="memory" value="1GB"/>
<policy domain="resource" name="map" value="1GB"/>
<policy domain="resource" name="width" value="64KB"/>
<policy domain="resource" name="height" value="64KB"/>
<policy domain="resource" name="area" value="1GB"/>
<policy domain="resource" name="disk" value="2GB"/>