imagettftext()函数在Linux下无法使用的问题

起因是 Android锁屏密码破解研究【九宫格和复杂密码】 这篇文章中,把破解gesture.key的php代码从Win放到Linux上,本地在Windows系统测试没问题,到了Linux上发现只有背景图,imageline()线条能画出来,但是imagettftext()画的字出不来,不是中文,数字和英文都出不来。

百度了一番,发现了几种原因。

1、需要gd和freetype支持。

屏幕快照 2016-01-08 上午9.29.55

看了下phpinfo,都有。

2、linux下字体路径需要绝对路径,不能用相对路径。

改了,还是不行,后来发现不是这个问题,imagettftext()的字体文件可以用相对路径。(Cent OS下测试的)

3、字体在Linux中不适用

屏幕快照 2016-01-08 上午9.33.56

浪费了2个小时,最后发现有人提到,部分字体是Windows特有的,也许“simkai.ttf”也是,抱着试试看的态度上传了Windows下的“arial.ttf”,搞定!竟然是这个原因!