我正在构建一个图像处理Nginx CDN /缓存服务器,以在服装jpeg上覆盖数百万个独特的SVG设计文件。此处类似的教程:http: //sumitbirla.com/2011/11/how-to-build-a-scalable-caching-resizing-image-server/
我在这里写了一个测试脚本:
<?php
$cmd = "composite GOSHEN.svg blank-tshirt.jpg -geometry 600x700+456+335 JPG:-";
header("Content-type: image/jpeg");
passthru($cmd);
exit();
?>
Run Code Online (Sandbox Code Playgroud)
这是一个示例结果:
我的问题是ImageMagick太慢了。除了更多的CPU /内存,还有什么技巧可以使其更快?是否有其他替代技术可以更快地覆盖图像?
任何帮助深表感谢。
我已经阅读了许多其他关于此非数字值遇到错误的帖子,但不幸的是,我可能很密集。我不知道如何解决这个烦人的错误。
这是我的代码块:
foreach ($local_words as $local_word_to_check){
$letters = mb_str_split($local_word_to_check);
$letters = array_map( 'addslashes', $letters );
$local_total_letter_box_length = "";
$query2 = "SELECT GROUP_CONCAT(Alpha) AS Alpha,
GROUP_CONCAT(Letter_Box_Width) AS Letter_Box_Width
FROM Font_Krinkes
WHERE Alpha IN ('" . implode("','", $letters) . "')";
$result2 = mysqli_query($con, $query2) or die("unable to query database!");
if ($row = mysqli_fetch_assoc($result2)) {
$widths = array_combine(explode(',', $row['Alpha']), explode(',', $row['Letter_Box_Width']));
$total_word_box_width = 0;
foreach (mb_str_split($local_word_to_check) as $letter) {
$local_total_letter_box_length += $widths[$letter];
}
}
$complete_font_values[] = $local_total_letter_box_length;
unset($letters);
}
Run Code Online (Sandbox Code Playgroud)
错误发生在这一行:
$local_total_letter_box_length += $widths[$letter]; …Run Code Online (Sandbox Code Playgroud)