为什么imagettftext返回负值是如此之大和不合理?

I am writing a very simple php about write text in a png file.

var_dump(imagettftext ($img, 36, 0, 100,100, 0x000000, './arial.ttf','test'));

I run it at Linux version 2.6.9 and php 5.2.17, but it doesn't work, nothing is written.Then I run it in Win7 and php 5.2.17, it write the text in image indeed.

And I found their output are different.

In Linux:

array(8) {
  [0]=>
  int(-1783466488)
  [1]=>
  int(42)
  [2]=>
  int(22134784)
  [3]=>
  int(0)
  [4]=>
  int(-1073754768)
  [5]=>
  int(127)
  [6]=>
  int(57)
  [7]=>
  int(1)
}

In Win7:

array(8) {
  [0]=>
  int(100)
  [1]=>
  int(102)
  [2]=>
  int(200)
  [3]=>
  int(102)
  [4]=>
  int(200)
  [5]=>
  int(66)
  [6]=>
  int(100)
  [7]=>
  int(66)
}

It is too weird in Linux, but I don't know why its output like this.