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

时间:2013-06-13 06:28:49

标签: php image gd

我一直在MAMP上使用localhost(PHP版本5.4.10)。我将EXACT相同的文件上传到我购买的运行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

1 个答案:

答案 0 :(得分:0)

我添加了

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

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