【发布时间】:2014-01-16 00:57:11
【问题描述】:
我正在使用 phpimageworkshop 调整图像大小,但遇到以下问题。根据我的 jpg 文件,库工作或不工作。为了测试它,我有以下代码:
use PHPImageWorkshop\ImageWorkshop; /*http://phpimageworkshop.com/*/
require_once('lib/PHPImageWorkshop/ImageWorkshop.php');
$layer1 = ImageWorkshop::initFromPath('uploads/img1.jpg');
echo $layer1->getWidth();
$layer2 = ImageWorkshop::initFromPath('uploads/img2.jpg');
echo $layer2->getWidth();
它适用于文件 img1.jpg,但它不适用于 img2.jpg,回显不返回任何内容。您可以使用以下文件进行测试: http://francois-deneuville.fr/stackoverflow/ 你知道为什么吗?
【问题讨论】:
-
可能是图片太大了。该库是否没有某种形式的错误处理?
-
你有error reporting turned on吗?第二张图片比第一张大很多;如果您达到 PHP 内存限制,我不会感到惊讶。检查您的服务器错误日志。您的第二张图片是 4,288x2,848 像素;在保守的每像素 16 位的情况下,它在加载时需要大约 24MB 的内存来保存它。
-
不,我没有打开错误报告。我去看看
-
另外,暂时打电话给phpinfo(),看看它说你的memory_limit是什么,对于初学者。但是,基本上,打开错误报告,因为您可能会遇到您没有看到的错误。而且你也需要更多的内存来调整大小;您需要将原始图像和调整大小的图像同时保存在内存中,至少是短暂的。
-
我已经运行了phpinfo,我的内存限制是32M。我将打开错误报告以了解更多信息。