PHP GD图像显示本地主机,但不在服务器上


PHP GD Image Showing Localhost But Not On Server

我一直在MAMP (PHP Version 5.4.10)上使用localhost。我将完全相同的文件上传到我购买的服务器上运行LAMP (PHP版本5.4.15-1~lucid+1)。我打开文件localhost和图像加载良好和正确。我把确切的文件上传到服务器上,我得到了破碎的图像图像。我的代码:

    <?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
require_once('query.class.php');
$Server = new MinecraftServerStatus($IP = '69.65.42.155', $Port = 30465, $Timeout = 1);
 header('content-type: image/png');
$image = imagecreatefrompng('http://192.34.58.24/cfgd/images/o_image1.png');
$dark_grey = imagecolorallocate($image, 102, 102, 102);
$white = imagecolorallocate($image, 255, 255, 255);
$red = imagecolorallocate($image, 255, 0, 0);
$green = imagecolorallocate($image, 0, 255, 0);
$font_path = 'Brixton';
$title = 'Knightsrp';
if($Port != 25565){
    $dip = $IP.':'.$Port;
}
else{
    $dip = $IP;
}
if($Server->Get('online')){
    $status = 'Online';
    $players = $Server->Get('numplayers').' / '.$Server->Get('maxplayers');
}
else{
    $status = 'Offline';
}
imagettftext($image, 30, 0, 10, 35, $white, $font_path, $title);
if($status == 'Online'){imagettftext($image, 20, 0, 5, 87, $green, $font_path, $status);}else{imagettftext($image, 20, 0, 5, 87, $red, $font_path, $status);}
if($status == 'Online'){imagettftext($image, 20, 0, 550, 87, $white, $font_path, $players);}
imagettftext($image, 20, 0, 350, 20, $white, $font_path, $dip);
imagepng($image);
imagedestroy($image);
?>

您可以在这里找到我使用的php类:https://github.com/NoxNebula/Minecraft-Server-Status

我添加了

putenv('GDFONTPATH=' . realpath('.'));

之前
imagettftext($image, 30, 0, 10, 35, $white, $font_path, $title);