Буду краток, ошибка не в сервере и не в сниппетах. Ошибка кроется в самом phpthumb.
Открываем файл core/model/phpthumb/phpthumb.class.php Ищем примерно 2115 строку и видим что-то подобное:
$aspectratio = $this->thumbnail_image_height / $this->thumbnail_image_width;
if ($this->thumbnail_image_width >= $this->thumbnail_width) {
if ($this->w) {
$this->thumbnail_image_height = round($this->thumbnail_image_width * $aspectratio);
$this->thumbnail_height = ($this->h ? $this->h : $this->thumbnail_image_height);
} elseif ($this->thumbnail_image_height < $this->thumbnail_height) {
$this->thumbnail_image_height = $this->thumbnail_height;
$this->thumbnail_image_width = round($this->thumbnail_image_height / $aspectratio);
}
} else {
$aspectratio = $this->thumbnail_image_width / $this->thumbnail_image_height;
if ($this->h) {
$this->thumbnail_image_width = round($this->thumbnail_image_height * $aspectratio);
} elseif ($this->thumbnail_image_width < $this->thumbnail_width) {
$this->thumbnail_image_width = $this->thumbnail_width;
$this->thumbnail_image_height = round($this->thumbnail_image_width / $aspectratio);
}
}
Обратите внимание на переменную $aspectratio. Здесь произведено изменение данной переменной.