Php 尝试调用方法imagerotate时发生500内部服务器错误
我有一个PHP脚本,它在我们当前的VPS中运行得非常好。但当我在我们的新VPS(Amazon)中运行相同的脚本时,它给出了内部服务器错误 此脚本的任务是水平旋转图像。但不知道为什么它给出了内部服务器错误。此外,它没有在apache错误日志中记录任何内容。日志记录在Apache中打开。所以,我不知道是什么导致了它 下面是脚本及其在第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。您肯定应该从代码中删除所有@(它将禁用错误和警
行“$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);