Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试调用方法imagerotate时发生500内部服务器错误_Php_Apache_Amazon Ec2_Centos7_Httpd.conf - Fatal编程技术网

Php 尝试调用方法imagerotate时发生500内部服务器错误

Php 尝试调用方法imagerotate时发生500内部服务器错误,php,apache,amazon-ec2,centos7,httpd.conf,Php,Apache,Amazon Ec2,Centos7,Httpd.conf,我有一个PHP脚本,它在我们当前的VPS中运行得非常好。但当我在我们的新VPS(Amazon)中运行相同的脚本时,它给出了内部服务器错误 此脚本的任务是水平旋转图像。但不知道为什么它给出了内部服务器错误。此外,它没有在apache错误日志中记录任何内容。日志记录在Apache中打开。所以,我不知道是什么导致了它 下面是脚本及其在第行“$rotated=@imagerotate($dst_img,$angle,0);” 我已验证服务器上是否启用了GD。您肯定应该从代码中删除所有@(它将禁用错误和警

我有一个PHP脚本,它在我们当前的VPS中运行得非常好。但当我在我们的新VPS(Amazon)中运行相同的脚本时,它给出了内部服务器错误

此脚本的任务是水平旋转图像。但不知道为什么它给出了内部服务器错误。此外,它没有在apache错误日志中记录任何内容。日志记录在Apache中打开。所以,我不知道是什么导致了它

下面是脚本及其在第
行“$rotated=@imagerotate($dst_img,$angle,0);”


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

您肯定应该从代码中删除所有
@
(它将禁用错误和警告)


我猜GD在服务器上不是活动的。您应该尝试将GD添加到php中。

您应该明确地从代码中删除所有的
@
(它会禁用错误和警告)


我猜GD在服务器上不是活动的。您应该尝试将GD添加到php中。

阅读错误日志。如果没有错误描述,您将无法获得帮助。只要您继续在每个函数调用中抑制错误,您将保持无知…感谢您的回复@u_mulder。但是正如我在运行这个脚本时所说的,这些错误不会记录在apache错误日志中。但是,我已经检查了日志是否已打开。请看我编辑过的问题。@jeroen,你的意思是在我的代码中用@来抑制错误,就像Thomas Dutrion强调的那样?是的。您还应该确保除了图像文件之外,没有任何输出发送到浏览器,因此您应该从删除关闭php标记开始。您还应该删除函数顶部的
标题
调用,因为在使用第3个参数时您没有输出图像。请阅读错误日志。如果没有错误描述,您将无法获得帮助。只要您继续在每个函数调用中抑制错误,您将保持无知…感谢您的回复@u_mulder。但是正如我在运行这个脚本时所说的,这些错误不会记录在apache错误日志中。但是,我已经检查了日志是否已打开。请看我编辑过的问题。@jeroen,你的意思是在我的代码中用@来抑制错误,就像Thomas Dutrion强调的那样?是的。您还应该确保除了图像文件之外,没有任何输出发送到浏览器,因此您应该从删除关闭php标记开始。您还应该删除函数顶部的
标题
调用,因为在使用第3个参数时,您没有输出图像。我已经通过从代码中删除@对其进行了测试,但仍然存在相同的问题。我还检查了服务器上是否启用了GD。我通过从代码中删除@对其进行了测试,但仍然存在相同的问题。我还检查了服务器上是否启用了GD。
<?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');
?>
error_reporting(E_ALL);
ini_set('display_errors', 1);