之前经常用的一个水印的程序,由于特殊需求部署到另个服务器上,结果在程序没有改动的情况下发现p_w_picpathttftext函数出现这个问题:

Warning: Could not find/open font

经检查发现:

1.配置文件环境变量正确;
2.php的freetype支持已经添加;
3.字体文件的位置也没有问题;

按照道理说,同一个程序在同样环境下,结果不应该不一样,郁闷之中,把手册翻了出来,发现这么个东西:

根据 PHP 所使用的 GD 库的不同,fontfile 没有以 / 开头时则 .ttf 将被加到文件名之后并且会在库定义字体路径中尝试搜索该文件名 --------php手册p_w_picpathttftext函数

赶紧去看了一下程序,发现,果然字体文件路径前边没有加 / ,加上之后,运行,ok了。

另外,之前的服务器gd库的版本是bundled (2.0.34 compatible) ;而新服务器的gd库版本是2.0 or higher(有点诡异),

仅供参考!!!