尝试调用方法时出现500内部服务器错误imagerotate

时间:2017-01-03 08:17:51

标签: php apache amazon-ec2 centos7 httpd.conf

我有一个PHP脚本,可以在我们当前的VPS中完美运行。但是当我在新的VPS(亚马逊)中运行相同的脚本时,它会给出内部服务器错误。

此脚本的作用是水平旋转图像。但不确定为什么它会给出内部服务器错误。此外,它没有在apache错误日志中记录任何内容。在Apache中进行日志记录。所以,我无能为力。

以下是脚本及其在"$rotated = @imagerotate($dst_img, $angle, 0);"

行的失败
<?php
function RotateJpg($filename = '',$angle = 0,$savename = false){
    header('Content-type: image/png');
    $original   =   @imagecreatefrompng($filename);
    $srcsize = @getimagesize($filename);
    $dest_x = 2000; 
    $dest_y = (2000 / $srcsize[0]) * $srcsize[1]; 
    $dst_img = @imagecreatetruecolor($dest_x, $dest_y);
    @imagecopyresampled($dst_img, $original, 0, 0, 0, 0,$dest_x, $dest_y, $srcsize[0], $srcsize[1]); 
    @imagedestroy($original);
    $rotated    =   @imagerotate($dst_img, $angle, 0);
    @imagedestroy($dst_img);
    if($savename == false) {
        header('Content-Type: image/png');
        @imagepng($rotated);
    }
    else{
        @imagepng($rotated,$savename);
    }        
    imagedestroy($rotated);

}

RotateJpg('source_file',90,'destination_file');
?>

我将非常感谢你的帮助。

此致

EDITED

当我添加下面的代码时,它没有给我500个内部服务器错误但是给了200个成功。但是它只显示空白页面而没有图像旋转。

error_reporting(E_ALL);
ini_set('display_errors', 1);

我已验证服务器上已启用GD。

1 个答案:

答案 0 :(得分:-1)

您绝对应该从代码中删除所有@(它会禁用错误和警告)。

我的猜测是GD在服务器上没有活动状态。您应该尝试将GD添加到您的php。