我更改了policy.xml,以允许更大的最大图像大小。在命令行中运行脚本时:
$ php image.php
64000
但是当我将其加载到浏览器中时:
16000
该脚本仅包含:
<?php echo Imagick::getResourceLimit(9);
如何使相同的政策适用于所投放的脚本?
编辑:回答多个评论:
因此,策略文件位于/etc/ImageMagick-6/policy.xml
的{{1}}位置。服务器是nginx,它是一个DigitalOcean Droplet,因此我可以完全控制。
我尝试在实例化Imagick之前和之后都设置资源限制,两者都返回相同的16000限制。
都在命令行中运行文件,并且浏览器仅在服务器上完成。
这是我调整后的政策文件,如果其中任何一个引起限制,我将其全部抬高。图像的最大文件大小为2GB,在300dpi时约为32000px(用于打印):
find /usr /opt / -name policy.xml
答案 0 :(得分:0)
在我的版本中,CLI和Nginx使用不同的ini文件。
CLI使用FileMode.Create
,而Nginx使用FPM /etc/php/{version}/cli/php.ini
,我猜想您的配置是相似的。
如果是,请确保要匹配的值相同。
您可以轻松检查;创建一个包含/etc/php/{version}/fpm/php.ini
的文件,并通过CLI和Web浏览器检查ini文件的路径。