HHVM - imagettftext():"没有这样的文件或目录"

时间:2014-06-13 11:08:46

标签: php gd hhvm imagettftext gdlib

我正在尝试将一个在PHP-FPM上运行良好的应用程序部署到HHVM。几乎所有东西都有效,除了一件事:GD图书馆。 GD一般有效,但imagettftext()imagefttext()似乎没有效果。 他们回复了这个令人困惑的错误:

  [ErrorException]           
  No such file or directory  

我已经重新编译了HHVM,以包含FreeType路径和gd_info()

{"GD Version":"bundled (2.0.34 compatible)","FreeType Support":true,"FreeType Linkage":"with freetype","T1Lib_Support":false,"GIF Read Support":true,"GIF Create Support":true,"JPEG Support":true,"PNG Support":true,"WBMP Support":true,"XPM Support":false,"XBM Support":true,"JIS-mapped Japanese Font Support":false}

我尝试了这个(https://stackoverflow.com/a/15001557/1792799)解决方案,但无济于事。

我很确定这个错误与代码无关,因为它在' normal'上工作得非常好。 PHP。但无论如何,这是它出错的部分。 字体路径存在并且可由服务器读取,字体文件存在,并且同一服务器上的相同代码再次与PHP-FPM一起运行。

// Font path
putenv('GDFONTPATH=' . $basepath . '/' . 'font');

// Choose font
$mc = "mc";

// Set font-sizes
$fonts = 12;
$mfont = 12 - 2.2;

$snx = 15;
$sny = 21;

$mx = $snx;
$my = $sny + 16;

$sipx = $snx;
$sipy = $my + 15;

$motd = $server->getCache('motd');
$motd = (strlen($motd) > 43) ? substr($motd, 0, 40).'...' : $motd;

// Server name
imagettftext($image, $fonts, 0, $snx + 1, $sny + 1, $white_shadow, $mc, $server->name);
imagettftext($image, $fonts, 0, $snx, $sny, $white, $mc, $server->name);

提前致谢!

1 个答案:

答案 0 :(得分:0)

我不知道它是否会对你有所帮助,但我面临着同样的问题,对我来说,这条道路绝对有帮助。

所以而不是

$font = "./Arial.ttf";

使用

 $font = "/var/www/your_website_dir/whatever_dir_font_is_in/Arial.ttf";